Compartición de archivos Samba | Guía completa 2026

comparticion-de-archivos-samba
comparticion-de-archivos-samba

La compartición de archivos Samba es una de las formas más prácticas de publicar carpetas de un servidor Linux para que puedan usarlas equipos Windows, Linux y otros dispositivos de la red local. Samba implementa el protocolo SMB/CIFS, el mismo protocolo que utiliza Windows para sus carpetas compartidas, por eso encaja muy bien en entornos mixtos donde no todos los clientes son Linux.

La idea principal para la compartición de archivos Samba es sencilla: en Linux se crea una carpeta, se ajustan sus permisos, se declara esa carpeta como recurso compartido en la configuración de Samba y se decide qué usuarios pueden acceder. A partir de ahí, un equipo Windows puede abrirla desde el explorador de archivos y un cliente Linux puede montarla con herramientas SMB.

Aunque se parezca a otras soluciones de compartición, como NFS, Samba no cumple exactamente el mismo papel. NFS suele ser muy cómodo entre sistemas Linux/Unix. Samba, en cambio, brilla cuando hay clientes Windows o cuando se quiere una experiencia parecida a unidades de red y carpetas compartidas tradicionales.

👉 Y recuerda, si quieres aprender más de Linux, pincha en este curso de Linux gratis

👉 También te dejo por aquí una guía de comandos Linux por categorías

Cuándo usar Samba

La compartición de archivos Samba tiene sentido cuando necesitas compartir archivos en una red local con clientes Windows, cuando quieres que usuarios no técnicos accedan desde el explorador de archivos, o cuando necesitas compatibilidad SMB con aplicaciones, impresoras, copias de seguridad o dispositivos que ya esperan este protocolo.

También es útil en pequeños servidores domésticos, oficinas, laboratorios, aulas y redes internas donde se quiere centralizar documentación, instaladores, copias de trabajo o carpetas por departamentos.

No es la mejor opción para todo. Si todos los equipos son Linux y necesitas montajes persistentes con permisos Unix muy naturales, NFS puede ser más directo. Si solo quieres copiar archivos de vez en cuando, SFTP puede bastar. Samba merece la pena cuando el recurso compartido debe comportarse como una carpeta de red compatible con SMB.

Conceptos básicos antes de configurar

Para ejecutar correctamente la compartición de archivos Samba conviene separar dos capas:

  • Los permisos reales del sistema Linux.
  • Los permisos y usuarios que Samba acepta para entrar al recurso.

Esto es importante porque Samba no puede escribir en una carpeta si Linux no se lo permite. Aunque en smb.conf declares que un usuario tiene acceso de escritura, el sistema de archivos sigue teniendo la última palabra.

Por eso, una configuración correcta normalmente incluye estas piezas:

  • Un directorio compartido, por ejemplo /srv/samba/compartido.
  • Un usuario Linux propietario o miembro de un grupo con permisos sobre ese directorio.
  • Un usuario Samba activado con smbpasswd.
  • Una sección en /etc/samba/smb.conf que publica el recurso.
  • El servicio smbd activo y accesible desde la red.

Instalación de Samba

En Debian, Ubuntu y derivados, los paquetes habituales se instalan con:

sudo apt update
sudo apt install samba smbclient cifs-utils

samba instala el servidor que publica las carpetas. smbclient permite probar recursos SMB desde la terminal, algo muy útil para diagnosticar. cifs-utils permite montar carpetas compartidas SMB en clientes Linux.

En Fedora, Rocky Linux, AlmaLinux o similares, el nombre de los paquetes puede variar ligeramente:

sudo dnf install samba samba-client cifs-utils

Después de instalar, conviene comprobar el estado del servicio:

systemctl status smbd

En algunas distribuciones el servicio se inicia automáticamente. En otras, puede ser necesario activarlo:

sudo systemctl enable --now smbd

El servicio smbd es el que atiende las conexiones SMB. Si no está arrancado, los clientes no podrán abrir la carpeta aunque la configuración sea correcta.

Crear el directorio compartido

Una ubicación clara para recursos compartidos es /srv/samba, porque deja separado el contenido publicado de las carpetas personales del sistema.

sudo mkdir -p /srv/samba/compartido

Ahora podemos crear un grupo para controlar quién tendrá acceso:

sudo groupadd sambausers

Si ya tienes un usuario Linux que debe acceder al recurso, añádelo al grupo:

sudo usermod -aG sambausers usuario

Después ajusta propietario y permisos:

sudo chown -R root:sambausers /srv/samba/compartido
sudo chmod -R 2770 /srv/samba/compartido

El modo 2770 tiene un detalle importante: el 2 activa el bit setgid en el directorio. Esto hace que los archivos nuevos hereden el grupo sambausers, evitando que cada usuario cree archivos con grupos diferentes y rompa la colaboración.

Con estos permisos, el propietario root y el grupo sambausers pueden trabajar en el directorio, mientras que otros usuarios locales no tienen acceso.

Crear o activar el usuario de Samba

Samba no usa automáticamente la contraseña del sistema para SMB. Un usuario puede existir en Linux, pero también debe tener contraseña Samba.

Si el usuario todavía no existe en Linux:

sudo adduser usuario

Después se registra en Samba:

sudo smbpasswd -a usuario

Y se activa:

sudo smbpasswd -e usuario

Este paso evita una confusión muy común: crear la carpeta y configurar smb.conf, pero olvidar smbpasswd. Si el usuario no está dado de alta en la base de Samba, Windows pedirá credenciales una y otra vez o devolverá acceso denegado.

Configurar /etc/samba/smb.conf

El archivo principal de configuración es:

/etc/samba/smb.conf

Antes de editarlo, es recomendable hacer una copia:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Al final del archivo se puede añadir una sección como esta:

[compartido]
   path = /srv/samba/compartido
   browseable = yes
   read only = no
   guest ok = no
   valid users = @sambausers
   create mask = 0660
   directory mask = 2770

Cada línea tiene una función concreta:

  • [compartido] es el nombre del recurso tal como lo verán los clientes. En Windows se accederá como \\servidor\compartido.
  • path indica la carpeta real en Linux.
  • browseable = yes permite que el recurso aparezca al explorar el servidor.
  • read only = no habilita escritura desde Samba, siempre que los permisos Linux también lo permitan.
  • guest ok = no desactiva acceso anónimo. Es una opción más segura para la mayoría de escenarios.
  • valid users = @sambausers limita el acceso a usuarios que pertenezcan al grupo Linux sambausers. La arroba indica grupo.
  • create mask define permisos para archivos nuevos creados desde clientes SMB.
  • directory mask define permisos para carpetas nuevas. Mantener 2770 ayuda a conservar el grupo compartido.

Verificar la configuración

Antes de reiniciar Samba, ejecuta:

testparm

testparm lee smb.conf y avisa de errores de sintaxis o parámetros problemáticos. Es mejor descubrir un fallo aquí que reiniciar el servicio y encontrarse con que el recurso no aparece.

Si todo está bien, reinicia:

sudo systemctl restart smbd

Y comprueba que sigue activo:

systemctl status smbd

Abrir el firewall

Si el firewall está activo, Samba debe estar permitido en la red local.

En Ubuntu con UFW:

sudo ufw allow Samba
sudo ufw status

En firewalld:

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Este paso es clave porque muchos problemas de conexión no están en smb.conf, sino en el firewall. Si el servicio funciona localmente pero otros equipos no pueden conectar, el firewall es una de las primeras cosas que conviene revisar.

Acceso desde Windows

Desde Windows, abre el explorador de archivos y escribe en la barra de direcciones:

\\IP_DEL_SERVIDOR\compartido

Por ejemplo:

\\192.168.1.50\compartido

Windows pedirá usuario y contraseña. Debes introducir el usuario Samba creado con smbpasswd. Si el usuario se llama usuario, normalmente basta con escribir ese nombre. En algunos entornos puede ser útil indicar:

NOMBRE_DEL_SERVIDOR\usuario

También puedes mapearlo como unidad de red desde Este equipo y elegir una letra, por ejemplo Z:.

Si Windows recuerda credenciales antiguas, puede fallar aunque la contraseña actual sea correcta. En ese caso revisa el Administrador de credenciales de Windows y elimina entradas antiguas para ese servidor.

Acceso desde Linux

Desde otro equipo Linux puedes listar recursos con:

smbclient -L //IP_DEL_SERVIDOR -U usuario

Para entrar de forma interactiva:

smbclient //IP_DEL_SERVIDOR/compartido -U usuario

Dentro de smbclient, comandos como ls, put, get y mkdir permiten probar lectura y escritura.

Para montar la carpeta en el sistema de archivos:

sudo mkdir -p /mnt/compartido
sudo mount -t cifs //IP_DEL_SERVIDOR/compartido /mnt/compartido -o username=usuario

El sistema pedirá la contraseña Samba. Si necesitas un montaje persistente, se puede usar /etc/fstab, pero conviene guardar credenciales en un archivo protegido en lugar de escribir la contraseña directamente en fstab.

Ejemplo de archivo de credenciales:

sudo nano /etc/samba/credenciales-compartido

Contenido:

username=usuario
password=CONTRASEÑA

Permisos:

sudo chmod 600 /etc/samba/credenciales-compartido

Entrada de ejemplo en /etc/fstab:

//192.168.1.50/compartido /mnt/compartido cifs credentials=/etc/samba/credenciales-compartido,iocharset=utf8,uid=1000,gid=1000 0 0

Esta configuración debe adaptarse al usuario local que vaya a usar el montaje. Los valores uid y gid controlan cómo se presentan los archivos montados en el cliente Linux.

Comprobaciones sencillas

Una verificación completa no debería limitarse a ver si el recurso aparece. Prueba lectura, escritura y permisos.

En el servidor:

ls -ld /srv/samba/compartido
getent group sambausers
pdbedit -L

ls -ld confirma permisos y grupo de la carpeta. getent group muestra quién pertenece al grupo. pdbedit -L lista usuarios registrados en Samba.

Desde un cliente Linux:

smbclient //192.168.1.50/compartido -U usuario

Después prueba:

mkdir prueba
put archivo.txt
ls

Desde Windows, crea una carpeta pequeña, copia un archivo y vuelve al servidor para comprobar:

ls -l /srv/samba/compartido

Si los archivos aparecen con el grupo esperado y otros usuarios del grupo pueden trabajar con ellos, la base está bien configurada.

Errores comunes y cómo interpretarlos

Windows pide contraseña en bucle

Suele indicar usuario Samba inexistente, contraseña incorrecta o credenciales antiguas guardadas en Windows. Revisa:

sudo smbpasswd -a usuario
sudo smbpasswd -e usuario
pdbedit -L

También elimina credenciales antiguas desde el Administrador de credenciales de Windows.

Acceso denegado al escribir

Si el usuario puede entrar pero no puede crear archivos, el problema suele estar en permisos Linux. Revisa:

ls -ld /srv/samba/compartido
id usuario
getent group sambausers

El usuario debe pertenecer al grupo correcto y la carpeta debe permitir escritura a ese grupo.

El recurso no aparece en la red

Que no aparezca al explorar la red no siempre significa que no funcione. Prueba acceso directo por IP:

\\192.168.1.50\compartido

La exploración de red depende de descubrimiento, nombres NetBIOS, DNS local y configuración del cliente. El acceso por IP suele ser más fiable para diagnosticar.

No se puede conectar al servidor

Comprueba servicio, firewall e IP:

systemctl status smbd
ip addr
sudo ufw status

Desde otro Linux puedes probar:

smbclient -L //192.168.1.50 -U usuario

Si no conecta, el problema puede ser de red o firewall. Si conecta pero no lista el recurso, revisa smb.conf y ejecuta testparm.

La configuración no carga

Ejecuta:

testparm

Un error de sintaxis en smb.conf puede impedir que Samba aplique la configuración esperada. También conviene revisar logs:

journalctl -u smbd --no-pager -n 100

Recomendaciones prácticas de seguridad

Recomendaciones de seguridad para la compartición de archivos Samba. No habilites invitados salvo que sea una carpeta pública de muy bajo riesgo. guest ok = yes puede ser cómodo, pero también facilita accesos no deseados si la red no está bien controlada.

Limita cada recurso a usuarios o grupos concretos con valid users. Es mejor crear grupos por finalidad, como sambausers, contabilidad o proyectos, que conceder acceso amplio a todos los usuarios.

Evita compartir carpetas sensibles del sistema, como /, /etc, /home completo o rutas donde haya claves y configuraciones privadas. Publica directorios pensados para compartir, preferiblemente dentro de /srv/samba.

Mantén los permisos Linux coherentes. Samba no sustituye al modelo de permisos del sistema; lo complementa. Si todo se arregla con chmod 777, la configuración queda débil y difícil de auditar.

Actualiza el sistema. Samba ha tenido vulnerabilidades importantes a lo largo de los años, así que conviene instalar parches de seguridad con regularidad.

Restringe Samba a redes internas. No expongas SMB directamente a Internet. Si necesitas acceso remoto, usa VPN y accede al recurso como si estuvieras dentro de la red local.

Usa contraseñas fuertes y elimina usuarios que ya no necesiten acceso:

sudo smbpasswd -x usuario

También es buena práctica revisar periódicamente quién tiene permisos:

getent group sambausers
pdbedit -L

Ejemplo completo resumido

Este ejemplo crea un recurso privado llamado compartido, accesible para usuarios del grupo sambausers.

sudo apt update
sudo apt install samba smbclient cifs-utils

sudo groupadd sambausers
sudo adduser usuario
sudo usermod -aG sambausers usuario

sudo mkdir -p /srv/samba/compartido
sudo chown -R root:sambausers /srv/samba/compartido
sudo chmod -R 2770 /srv/samba/compartido

sudo smbpasswd -a usuario
sudo smbpasswd -e usuario

Se añade al final de /etc/samba/smb.conf:

[compartido]
   path = /srv/samba/compartido
   browseable = yes
   read only = no
   guest ok = no
   valid users = @sambausers
   create mask = 0660
   directory mask = 2770

Después:

testparm
sudo systemctl restart smbd
sudo systemctl enable smbd

Si hay firewall:

sudo ufw allow Samba

Y desde Windows:

\\192.168.1.50\compartido

Conclusión

La compartición de archivos Samba permite convertir un servidor Linux en un servidor de archivos compatible con SMB, especialmente útil para redes mixtas con Windows y Linux. La clave para que funcione bien no está solo en copiar comandos, sino en entender la relación entre el recurso declarado en smb.conf, los usuarios de Samba y los permisos reales del sistema Linux.

Una configuración sólida para compartición de archivos Samba, empieza con una carpeta dedicada, grupos bien definidos, acceso sin invitados, usuarios creados con smbpasswd, verificación con testparm y pruebas desde clientes reales. Con esa base, Samba se convierte en una solución estable y práctica para compartir archivos en una red local sin depender de herramientas improvisadas.

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *