Linux

¿Qué es Samba Linux y cómo se instala para compartir archivos en tu red?

octubre 17, 2026 Qué es mejor? 13 min read
¿Qué es Samba Linux y cómo se instala para compartir archivos en tu red?

La mejor forma de compartir archivos con Samba en tu red y por qué

Si quieres compartir carpetas entre Linux, Windows y macOS en la misma red local, la instalación que conviene a la mayoría es Samba como servidor standalone con autenticación por usuario local. Funciona en cualquier distribución Linux actual, usa el protocolo SMB/CIFS nativo de Windows y no tiene coste de licencia: Samba se distribuye bajo licencia GPL. Para una casa u oficina pequeña ofrece control real de quién entra a cada carpeta sin meterse en un dominio.

Para una red doméstica simple donde solo quieres que todos vean una carpeta sin contraseña —por ejemplo, para una impresora compartida o una carpeta de películas en el salón—, te compensa un recurso público con guest ok = yes y map to guest = Bad User. Es más rápido de montar, pero cualquiera con acceso a la red podrá leer y, si lo permites, escribir. No lo uses si hay documentos personales o copias de seguridad.

Si tu red ya usa Active Directory con Windows Server o necesitas que los permisos se gestionen desde usuarios y grupos del dominio, entonces conviene unir Samba al dominio como miembro y usar autenticación Kerberos con security = ADS y winbind. Requiere más configuración —unión al dominio, sincronización horaria con NTP y DNS correcto— y mantenimiento, pero evita duplicar usuarios y respeta las políticas del dominio. Datos comprobados en septiembre de 2026.

Qué es Samba y qué hace con SMB/CIFS y Active Directory

Samba es una suite libre que implementa en Linux y otros sistemas tipo Unix el protocolo SMB/CIFS. Ese protocolo es el que usa Windows para compartir archivos e impresoras en red, y el que entienden también macOS y la mayoría de reproductores y NAS. Con Samba, un equipo Linux actúa como servidor de archivos: publica carpetas en la red y los clientes las ven como unidades de red estándar, sin instalar nada raro en Windows.

Puede funcionar de tres formas. Como servidor standalone, gestiona sus propios usuarios con smbpasswd y es independiente de cualquier dominio. Como miembro de dominio, se une a un Active Directory y delega la autenticación a los controladores de dominio. Como controlador de dominio AD, emula un dominio con su propio LDAP y Kerberos, aunque esta última función exige bastante planificación.

Samba es software libre bajo licencia GPL y su documentación de referencia está en la documentación oficial de Samba. El proyecto publica versiones estables de la rama 4.x —en 2026 la serie habitual en distribuciones es la 4.19 y 4.20— y corrige vulnerabilidades de SMB sin coste.

Glosario breve: SMB/CIFS: protocolo de compartición de archivos en red. Demonio smbd: proceso que sirve archivos. nmbd/wsdd: descubrimiento en red. testparm: valida smb.conf. cifs-utils: herramientas para montar recursos SMB en Linux. Active Directory: servicio de directorio y autenticación de Windows.

Qué necesitas antes de instalar Samba

Antes de tocar la configuración necesitas tener claro el sistema base y los permisos de red. Samba corre en cualquier distribución Linux moderna —Ubuntu 24.04, Debian 12, Fedora 40, Linux Mint 21— siempre con permisos de administrador (sudo). Verifica la versión instalada después con samba --version y smbd --version; ambas deben devolver la misma rama 4.x.

En red, Samba escucha en los puertos TCP 445 para SMB directo y, si mantienes compatibilidad con NetBIOS, TCP 139 y UDP 137-138. Si usas cortafuegos, abre al menos TCP 445 entre los equipos que compartirán archivos. En el almacenamiento, crea las carpetas fuera del home personal, por ejemplo en /srv/samba/publico y /srv/samba/privado, y decide de antemano los permisos del sistema de archivos con chmod y chown.

Comprueba esta lista antes de instalar:

  • Distribución Linux actualizada y acceso sudo verificado con sudo -v.
  • Paquetes necesarios disponibles en repositorios: samba para el servidor, smbclient para probar conexiones y cifs-utils para montar recursos en clientes Linux.
  • Puertos TCP 445 y, si usas NetBIOS, 137-139 accesibles en el cortafuegos local y sin bloqueo del router entre VLAN.
  • Carpeta o partición con espacio suficiente y sistema de archivos que soporte permisos Unix (ext4, XFS, btrfs).
  • Nombre de equipo y grupo de trabajo definidos —por defecto WORKGROUP— para que Windows detecte el servidor sin DNS extra.
  • Si integrarás con Active Directory, hora sincronizada por NTP y DNS que resuelva el dominio, porque Kerberos falla con desfases superiores a 5 minutos.
  • Usuario Linux creado para cada cuenta que tendrá acceso con contraseña Samba distinta de la del sistema.

Sin esta base, cualquier error posterior de autenticación o de permisos se confunde con un fallo de Samba cuando en realidad es de red o de sistema de archivos.

Métodos para instalar y usar Samba, comparados

Hay tres formas habituales de desplegar Samba y no son equivalentes en seguridad ni en mantenimiento. Esta tabla las pone lado a lado con datos verificables.

Método Dificultad Coste de licencia Autenticación Gestión de permisos Firewall / SELinux-AppArmor Compatibilidad Windows / Linux / macOS
Recurso público standalone (guest) baja: 3 directivas en smb.conf 0 EUR, GPL invitado sin contraseña permisos Unix + guest ok = yes, read only requiere abrir TCP 445; SELinux con samba_share_t si aplica sí / sí con cifs-utils / sí
Recurso privado standalone con usuario media: crear usuario + smbpasswd 0 EUR, GPL usuario y contraseña local permisos Unix + valid users, read only, writable igual que anterior; sin dato extra sí / sí con cifs-utils / sí
Miembro de dominio Active Directory alta: unión a AD + winbind/Kerberos 0 EUR, GPL AD vía Kerberos ACL de dominio + permisos Unix igual + sincronización NTP y DNS; reglas adicionales de Kerberos TCP 88 sí nativo / sí con winbind / sí

El recurso público es el más rápido, pero expone todo a cualquier dispositivo de la red; su pega real es la ausencia de trazabilidad. El recurso privado añade control por smbpasswd con un coste mínimo de gestión: un comando por usuario. La integración AD elimina la duplicación de cuentas y permite aplicar políticas del dominio, a cambio de depender de la infraestructura de Windows y de mantener el tiempo y el DNS perfectamente alineados; si el controlador cae, el acceso falla.

Si solo necesitas compartir entre 2 a 5 equipos sin dominio, el standalone con usuarios es el equilibrio entre seguridad y simplicidad; deja AD para redes que ya lo usan.

Método 1: Instalar Samba y crear recurso compartido público y privado con smb.conf

Este método instala el servidor y publica dos carpetas: una abierta y otra con contraseña. Todos los comandos son para distribuciones basadas en Debian/Ubuntu; en Fedora cambia apt por dnf y ufw por firewalld.

  1. Instala los paquetes y verifica la versión. Ejecuta sudo apt update && sudo apt install samba smbclient cifs-utils y luego samba --version. Deberías ver una rama 4.19 o 4.20 según tu repositorio. Consulta las notas de la versión de Samba si necesitas una función concreta.
  2. Crea las carpetas y ajusta permisos del sistema. Por ejemplo: sudo mkdir -p /srv/samba/publico /srv/samba/privado y sudo chmod 2775 /srv/samba/publico con sudo chown nobody:nogroup /srv/samba/publico para invitados, y sudo chown tuusuario:tuusuario /srv/samba/privado con chmod 2770 para el privado. El bit 2775 mantiene el grupo en archivos nuevos.
  3. Haz copia de smb.conf y edita el archivo principal en /etc/samba/smb.conf. Añade al final:
[global]
   workgroup = WORKGROUP
   server string = Servidor Samba
   map to guest = Bad User
   usershare allow guests = yes

[publico]
   path = /srv/samba/publico
   browsable = yes
   read only = no
   guest ok = yes
   create mask = 0664
   directory mask = 0775

[privado]
   path = /srv/samba/privado
   browsable = yes
   read only = no
   guest ok = no
   valid users = tuusuario
   create mask = 0660
   directory mask = 0770
  1. Valida la sintaxis con testparm -s. Si devuelve errores, corrige antes de reiniciar; testparm detecta directivas mal escritas y secciones duplicadas. La referencia de cada parámetro está en smb.conf.
  2. Crea el usuario Samba. Debe existir primero como usuario Linux: sudo adduser tuusuario si no existe, luego sudo smbpasswd -a tuusuario y activa con sudo smbpasswd -e tuusuario. Sin este paso, el recurso privado rechazará la conexión aunque la contraseña de Linux sea correcta.
  3. Ajusta el cortafuegos y el contexto de seguridad. En UFW: sudo ufw allow Samba o sudo ufw allow 445/tcp. En sistemas con SELinux: sudo chcon -t samba_share_t /srv/samba/publico y sudo chcon -t samba_share_t /srv/samba/privado o el acceso será denegado aunque los permisos Unix sean correctos.
  4. Reinicia y habilita el servicio: sudo systemctl restart smbd nmbd y sudo systemctl enable smbd nmbd. En distribuciones recientes nmbd puede ser sustituido por wsdd para descubrimiento; si nmbd no existe, ignora ese demonio y usa wsdd.
  5. Prueba en local: smbclient -L //localhost -U tuusuario debe listar publico y privado, y smbclient //localhost/privado -U tuusuario debe permitir ls y put.

Limitación honesta: el recurso público con guest ok = yes no deja auditar quién modificó cada archivo y cualquier dispositivo en la misma red puede escribir si read only = no. Para datos personales, usa siempre el recurso privado y deja el público solo para contenido no sensible.

Método 2: Conectar y montar el recurso desde los clientes

Con el servidor ya publicado, toca acceder desde cada sistema. Necesitas la IP o el nombre del servidor y, para el recurso privado, el usuario creado con smbpasswd.

Desde Linux con smbclient y mount.cifs:

  1. Prueba la lista de recursos: smbclient -L //192.168.1.10 -U tuusuario o smbclient -L //192.168.1.10 -N para invitado. La IP es un ejemplo; sustitúyela por la de tu servidor. Si el cortafuegos bloquea TCP 445, este comando se quedará colgado.
  2. Acceso puntual interactivo: smbclient //192.168.1.10/privado -U tuusuario y luego usa ls, get archivo, put archivo. Útil para verificar credenciales sin montar nada.
  3. Montaje temporal en una carpeta local: sudo mkdir -p /mnt/privado y sudo mount -t cifs //192.168.1.10/privado /mnt/privado -o username=tuusuario,uid=$(id -u),gid=$(id -g). Para el recurso público añade guest en vez de username: sudo mount -t cifs //192.168.1.10/publico /mnt/publico -o guest,uid=$(id -u),gid=$(id -g).
  4. Montaje persistente tras reinicio: crea un archivo de credenciales ~/.smbcredentials con username=tuusuario y password=tu_clave y chmod 600 ~/.smbcredentials. Añade en /etc/fstab:
//192.168.1.10/privado /mnt/privado cifs credentials=/home/tuusuario/.smbcredentials,uid=1000,gid=1000,vers=3.0 0 0

Usa vers=3.0 o superior para forzar SMB3, que cifra el tráfico si el servidor lo soporta. La sintaxis de montaje está documentada en mount.cifs.

Desde Windows 10 y 11:

  1. En el Explorador escribe \\192.168.1.10\privado o \\192.168.1.10\publico en la barra de direcciones. Windows usa SMB3 por defecto; si el servidor solo habla SMB1, la conexión fallará porque SMB1 está desactivado por seguridad desde Windows 10 1709.
  2. Cuando pida credenciales, introduce tuusuario y la contraseña definida con smbpasswd, no la de Windows. Marca "Recordar credenciales" para persistencia o usa "Conectar a unidad de red" y asigna letra Z:.
  3. Si no aparece el equipo por nombre, usa la IP. El descubrimiento por nombre NetBIOS depende de nmbd o wsdd; sin ellos, el nombre no se resuelve y solo funciona por IP o DNS.

Compatibilidad: Windows 10/11 habla SMB 3.0 y 3.1.1, Linux con cifs-utils 6.x habla SMB 3.x, y macOS desde 10.9 usa SMB2/3 como protocolo por defecto. Todas las combinaciones funcionan si fuerzas al menos SMB2; evita SMB1 por sus vulnerabilidades conocidas.

Si no funciona: fallos frecuentes y cómo comprobarlos

Cuando el recurso no aparece o pide contraseña sin aceptarla, el problema casi nunca es Samba en sí, sino cortafuegos, permisos o usuario mal creado. Revisa en este orden:

  • Cortafuegos bloquea TCP 445. En Ubuntu con UFW, sudo ufw status debe mostrar Samba o 445/tcp ALLOW. En Fedora con firewalld, sudo firewall-cmd --list-services debe incluir samba. Prueba nc -zv 192.168.1.10 445 o telnet 192.168.1.10 445 desde el cliente; si no conecta, abre el puerto en el servidor y en el router si hay VLAN aisladas.
  • Permisos del sistema de archivos incorrectos. Samba respeta primero chmod/chown de Linux. Si ls -ld /srv/samba/privado muestra drwxrwx--- pero el usuario no es propietario ni del grupo, el acceso falla con "NT_STATUS_ACCESS_DENIED" aunque smbpasswd sea correcto. Corrige con chown y chmod y prueba de nuevo.
  • Usuario Samba no creado o deshabilitado. sudo pdbedit -L -v | grep tuusuario debe listar el usuario. Si no aparece, ejecuta sudo smbpasswd -a tuusuario. Si aparece pero con Account disabled, usa sudo smbpasswd -e tuusuario.
  • SELinux o AppArmor deniega el acceso. En Fedora/RHEL, sudo ausearch -m AVC -ts recent | grep samba muestra denegaciones. Aplica sudo chcon -t samba_share_t /srv/samba/... o sudo setsebool -P samba_enable_home_dirs on si compartes homes. En Ubuntu con AppArmor, sudo aa-status indica si smbd está confinado.
  • smb.conf con errores de sintaxis. Ejecuta testparm -s en el servidor. Cualquier línea con Unknown parameter o Error impide que smbd cargue el recurso. Corrige y reinicia con sudo systemctl restart smbd.
  • Protocolo SMB incompatible. Si Windows muestra "No se puede conectar porque SMB1 no está habilitado", no actives SMB1. Sube server min protocol = SMB2 en [global] y fuerza vers=3.0 en el cliente Linux.
  • Diagnóstico rápido desde el cliente. smbclient -L //192.168.1.10 -U tuusuario lista recursos si la red y la autenticación están bien. smbclient //192.168.1.10/privado -U tuusuario -c "ls" confirma lectura. journalctl -u smbd --since "10 min ago" en el servidor muestra errores de autenticación y de permisos con marca de tiempo.

Preguntas frecuentes sobre Samba en Linux

1. ¿Cómo se instala Samba en Ubuntu?

En Ubuntu o derivados, se instala con el comando 'sudo apt install samba' tras actualizar las listas de paquetes. Una vez instalado, el servicio 'smbd' debe estar activo; puedes verificarlo con 'systemctl status smbd'. La configuración se edita en /etc/samba/smb.conf para definir las carpetas compartidas.

2. ¿Qué es el software Samba y para qué sirve?

Samba es un conjunto de programas de código abierto que implementa el protocolo SMB/CIFS, permitiendo interoperabilidad entre sistemas Linux y Windows en una red local. Sirve para compartir archivos e impresoras, de modo que un servidor Linux pueda verse como una unidad de red en Windows. Su última versión estable es la 4.20.

3. ¿Dónde está el archivo de configuración principal de Samba y cómo se modifica?

El archivo principal es /etc/samba/smb.conf, que contiene secciones [global] para ajustes generales y otras para cada recurso compartido. Se recomienda respaldarlo antes de editar ('cp smb.conf smb.conf.bak') y usar el comando 'testparm' tras los cambios para detectar errores de sintaxis. Las modificaciones requieren reiniciar el servicio.

4. ¿Cómo configurar un servidor de archivos Samba paso a paso en Linux?

El proceso básico es: instalar el paquete samba, crear un directorio para compartir, añadir su definición en /etc/samba/smb.conf con parámetros como 'path' y 'writable', y finalmente reiniciar el servicio. Para controlar el acceso, se crean usuarios con 'smbpasswd -a usuario', que establece una contraseña específica para la red.

5. ¿Cómo hacer que un servidor Samba sea visible y accesible desde Windows?

En el archivo /etc/samba/smb.conf, la sección [global] debe incluir 'workgroup = GRUPO_TRABAJO' (o el nombre de tu grupo) y 'server role = standalone server'. Desde el Explorador de Archivos de Windows, se accede escribiendo '\IP_DEL_SERVIDOR' en la barra de direcciones. La autenticación usa el usuario y contraseña creados con 'smbpasswd'.

6. ¿Qué es un servidor de archivos Samba y cómo funciona?

Es un sistema que utiliza el software Samba para almacenar y distribuir archivos a través de una red local usando el protocolo SMB. Funciona escuchando las peticiones de los clientes en los puertos TCP 445 y UDP 137-139, y sirviendo los recursos definidos en su configuración. Permite definir permisos por usuario, grupo y nivel de acceso (solo lectura o lectura/escritura).

7. ¿Cómo se instala Samba en Arch Linux?

En Arch Linux o Manjaro, el paquete se instala con el comando 'sudo pacman -S samba'. Tras la instalación, se habilita e inicia el servicio 'smb.service' con systemctl para que Samba funcione. El archivo de configuración a editar se encuentra en /etc/samba/smb.conf, igual que en otras distribuciones.

8. ¿Cuál es la página oficial del proyecto Samba?

La página oficial del proyecto es samba.org, desde donde se descargan los paquetes fuente y se accede a la documentación técnica completa. El código fuente también está disponible en el repositorio Git oficial (git.samba.org). La documentación oficial incluye manuales detallados para la configuración avanzada.

Fuentes

  1. LinuxconfigHow to Set Up Samba File Sharing on Ubuntu 26.04 – LinuxConfigconsultado el 23/09/2026
  2. ArchlinuxSamba – ArchWikiconsultado el 23/09/2026
  3. TenableRHEL 9 : samba (RHSA-2026:28053) | Tenable®consultado el 23/09/2026
  4. SambaxpsambaXP 2027 – 26th International User and Developer Conferenceconsultado el 23/09/2026
  5. DevSamba on Linux – File Sharing for Mixed Environmentsconsultado el 23/09/2026