Cómo instalar y configurar Samba en Linux: una guía técnica completa
Samba es una implementación de código abierto del protocolo SMB/CIFS (Server Message Block / Common Internet File System) que permite a los servidores basados en Linux y Unix compartir archivos, impresoras y otros recursos con clientes Windows — y con otras máquinas Linux. Actúa como puente entre sistemas operativos, convirtiéndose en el estándar de facto para el intercambio de archivos en red entre plataformas en entornos mixtos.
Para una respuesta concisa a la pregunta principal: instalar Samba en Linux requiere instalar el paquete `samba` mediante el gestor de paquetes de tu distribución, definir bloques de recursos compartidos en `/etc/samba/smb.conf`, crear credenciales de usuario específicas de Samba con `smbpasswd`, y abrir los puertos 137–139 y 445 en tu firewall. Las secciones siguientes cubren cada capa de este proceso con detalle técnico preciso.
Qué hace Samba internamente
Samba se ejecuta como un conjunto de demonios. Entender qué hace cada demonio previene una categoría significativa de errores de configuración:
- `smbd` — gestiona el intercambio de archivos e impresoras, la autenticación y el bloqueo de recursos a través de los puertos TCP 445 y 139.
- `nmbd` — gestiona la resolución de nombres NetBIOS a través de los puertos UDP 137 y 138. Necesario para la exploración de red de Windows (Entorno de red / “Red” en el Explorador de archivos).
- `winbindd` — integra Samba con Active Directory o dominios NT4, habilitando la autenticación de usuarios de dominio en el host Linux. No es necesario para el intercambio de archivos independiente.
Cuando un cliente Windows abre `servershare`, primero resuelve el nombre del servidor mediante DNS o NetBIOS (nmbd), luego establece una sesión SMB con smbd a través del puerto 445. Samba negocia el dialecto SMB mutuamente compatible más alto — SMB 3.1.1 en sistemas modernos — y asigna el recurso compartido remoto a una letra de unidad o ruta UNC en el cliente.
Requisitos previos
Antes de continuar, confirma lo siguiente:
- Un servidor Linux con Ubuntu 20.04/22.04/24.04, Debian 11/12, CentOS Stream 8/9, RHEL 8/9 o Fedora 38+.
- Acceso root o `sudo`.
- Una dirección IP privada estática asignada al servidor (fundamental para un montaje de recursos compartidos estable).
- Familiaridad básica con operaciones de terminal y permisos de archivos.
- Acceso al firewall (UFW, firewalld o iptables) para abrir los puertos necesarios.
Si estás desplegando Samba en un servidor en la nube o virtual, un entorno de VPS Hosting te proporciona el acceso root completo y el control de red necesarios para gestionar demonios, reglas de firewall y montajes persistentes sin las restricciones de los entornos compartidos.
Paso 1: Instalar Samba
Utiliza el gestor de paquetes apropiado para tu distribución. Actualiza siempre el índice de paquetes primero para evitar instalar versiones obsoletas.
Debian / Ubuntu:
“`bash
sudo apt-get update
sudo apt-get install samba samba-common-bin
“`
CentOS Stream / RHEL:
“`bash
sudo dnf install samba samba-client samba-common
“`
Fedora:
“`bash
sudo dnf install samba samba-client samba-common
“`
Arch Linux:
“`bash
sudo pacman -S samba
“`
Tras la instalación, verifica la versión instalada:
“`bash
smbd –version
“`
En sistemas basados en RHEL, instala también `samba-client` para obtener la utilidad de diagnóstico `smbclient`, que utilizarás en pasos posteriores para pruebas de conexión.
Paso 2: Hacer una copia de seguridad y editar el archivo de configuración principal
Toda la configuración de Samba reside en `/etc/samba/smb.conf`. Este único archivo controla el comportamiento global del servidor, el modelo de seguridad, las definiciones de recursos compartidos y el registro. Antes de modificarlo, crea una copia de seguridad con marca de tiempo:
“`bash
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup.$(date +%F)
“`
Abre el archivo para editarlo:
“`bash
sudo nano /etc/samba/smb.conf
“`
El archivo está dividido en secciones. La sección `[global]` define los parámetros de todo el servidor. Las secciones de recursos compartidos individuales (p. ej., `[sambashare]`) definen recursos compartidos específicos.
Parámetros globales críticos a revisar
Dentro de la sección `[global]`, presta atención a estos ajustes:
“`ini
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = MYSERVER
security = user
map to guest = bad user
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* .
pam password change = yes
min protocol = SMB2
max protocol = SMB3
“`
Punto clave: La directiva `min protocol = SMB2` deshabilita explícitamente SMB1, que ha estado obsoleto desde 2014 y es el vector de exploits como EternalBlue (MS17-010). Nunca dejes SMB1 habilitado en un servidor de producción. Windows 10/11 moderno y todos los clientes CIFS actuales de Linux admiten SMB2 y SMB3 de forma nativa.
Paso 3: Crear y preparar el directorio compartido
Crea el directorio que se expondrá a través de la red:
“`bash
sudo mkdir -p /srv/sambashare
“`
Establece la propiedad y los permisos. El enfoque correcto depende de si deseas acceso de invitado o acceso solo autenticado.
Para acceso de usuario autenticado (recomendado para producción):
“`bash
sudo chown root:sambashare /srv/sambashare
sudo chmod 2770 /srv/sambashare
“`
El permiso `2770` se desglosa como:
- `2` — bit setgid: los nuevos archivos heredan el grupo del directorio, evitando la fragmentación de propiedad en recursos compartidos multiusuario.
- `7` — el propietario (root) tiene lectura, escritura y ejecución.
- `7` — el grupo (sambashare) tiene lectura, escritura y ejecución.
- `0` — otros no tienen acceso.
Para acceso de invitado/público (laboratorio doméstico o LAN interna únicamente):
“`bash
sudo chown nobody:nogroup /srv/sambashare
sudo chmod 0777 /srv/sambashare
“`
No uses `0777` en servidores expuestos a internet. Los recursos compartidos de invitado con permisos de escritura para todos solo son apropiados en redes aisladas y de confianza.
Paso 4: Crear el grupo y el usuario del sistema
Para recursos compartidos autenticados, crea un grupo Linux dedicado que se asigne a tu recurso compartido de Samba:
“`bash
sudo groupadd sambashare
“`
Añade el usuario Linux que accederá al recurso compartido:
“`bash
sudo useradd -M -s /sbin/nologin sambauser
sudo usermod -aG sambashare sambauser
“`
El indicador `-M` omite la creación de un directorio home (esta es una cuenta de servicio, no un usuario interactivo). El indicador `-s /sbin/nologin` impide que la cuenta se use para inicios de sesión SSH o de consola — un paso crítico de refuerzo de seguridad que la mayoría de los tutoriales omiten.
Ahora registra el usuario en la base de datos de contraseñas propia de Samba (separada de `/etc/shadow`):
“`bash
sudo smbpasswd -a sambauser
sudo smbpasswd -e sambauser
“`
El indicador `-a` añade el usuario; el indicador `-e` habilita la cuenta. Samba mantiene su propio almacén de credenciales en `/var/lib/samba/private/passdb.tdb` (o archivo `smbpasswd` dependiendo del ajuste `passdb backend`). Un usuario puede existir en Linux sin estar en la base de datos de Samba, y viceversa — debe estar registrado en ambas.
Paso 5: Definir el recurso compartido en smb.conf
Añade el siguiente bloque al final de `/etc/samba/smb.conf`. Se muestran dos configuraciones: una para acceso autenticado y otra para acceso de invitado.
Recurso compartido autenticado (recomendado para producción)
“`ini
[sambashare]
path = /srv/sambashare
comment = Authenticated Network Share
browsable = yes
writable = yes
read only = no
guest ok = no
valid users = @sambashare
create mask = 0660
directory mask = 2770
force group = sambashare
“`
Desglose de parámetros:
- `valid users = @sambashare` — el prefijo `@` significa “cualquier miembro del grupo Linux llamado sambashare”. Esto es más escalable que listar nombres de usuario individuales.
- `create mask = 0660` — los nuevos archivos se crean con permisos rw-rw—-, evitando archivos legibles por todos.
- `directory mask = 2770` — los nuevos subdirectorios heredan el bit setgid y los permisos de grupo.
- `force group = sambashare` — fuerza todas las operaciones de archivos a usar el grupo sambashare, independientemente del grupo principal del usuario que se conecta.
Recurso compartido de invitado (laboratorio doméstico / LAN interna)
“`ini
[public]
path = /srv/sambashare
comment = Public Network Share
browsable = yes
writable = yes
read only = no
guest ok = yes
guest account = nobody
create mask = 0664
directory mask = 0775
“`
Paso 6: Validar la configuración
Antes de reiniciar cualquier servicio, ejecuta el analizador de configuración integrado:
“`bash
testparm
“`
`testparm` lee `smb.conf`, reporta errores de sintaxis e imprime la configuración efectiva después de aplicar los valores predeterminados. Presta atención a cualquier línea `WARNING` — a menudo indican parámetros obsoletos o configuraciones incorrectas de seguridad. Una salida limpia termina con:
“`
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
“`
Si `testparm` reporta errores, corrígelos antes de continuar. Reiniciar smbd con un archivo de configuración roto hace que el servicio falle silenciosamente o revierta a los valores predeterminados.
Paso 7: Reiniciar y habilitar los demonios de Samba
Debian / Ubuntu:
“`bash
sudo systemctl restart smbd nmbd
sudo systemctl enable smbd nmbd
“`
CentOS / RHEL / Fedora:
“`bash
sudo systemctl restart smb nmb
sudo systemctl enable smb nmb
“`
Verifica que ambos demonios estén en ejecución:
“`bash
sudo systemctl status smbd nmbd # Debian/Ubuntu
sudo systemctl status smb nmb # RHEL/Fedora
“`
Comprueba que los demonios estén escuchando en los puertos correctos:
“`bash
sudo ss -tlnp | grep -E '(smbd|nmbd|445|139)'
“`
La salida esperada debe mostrar `smbd` vinculado a los puertos 445 y 139.
Paso 8: Configurar las reglas del firewall
Samba requiere que los siguientes puertos estén abiertos:
| Puerto | Protocolo | Servicio | Propósito |
|---|
| —— | ———- | ——— | ——— |
|---|
| 137 | UDP | nmbd | Servicio de nombres NetBIOS |
|---|
| 138 | UDP | nmbd | Servicio de datagramas NetBIOS |
|---|
| 139 | TCP | smbd | Servicio de sesión NetBIOS (SMB sobre NetBIOS) |
|---|
| 445 | TCP | smbd | SMB directo (SMB2/SMB3 — puerto principal) |
|---|
UFW (Debian/Ubuntu):
“`bash
sudo ufw allow 'Samba'
sudo ufw status
“`
firewalld (CentOS/RHEL/Fedora):
“`bash
sudo firewall-cmd –permanent –add-service=samba
sudo firewall-cmd –reload
sudo firewall-cmd –list-services
“`
iptables (manual):
“`bash
sudo iptables -A INPUT -p tcp –dport 445 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 139 -j ACCEPT
sudo iptables -A INPUT -p udp –dport 137:138 -j ACCEPT
“`
Nota de seguridad: Si tu servidor Samba es accesible desde internet (no recomendado para el intercambio de archivos estándar), restringe estas reglas a rangos de IP de origen específicos usando `-s 192.168.1.0/24` o equivalente. Exponer los puertos SMB a internet público es un riesgo de seguridad grave.
Paso 9: Consideraciones sobre SELinux (RHEL/CentOS/Fedora)
En sistemas con SELinux en modo de aplicación, Samba requiere etiquetas de contexto adicionales en los directorios compartidos. Sin estas, smbd será bloqueado para acceder a la ruta incluso si los permisos de Linux son correctos.
“`bash
sudo setsebool -P samba_enable_home_dirs on
sudo setsebool -P samba_export_all_rw on
sudo semanage fcontext -a -t samba_share_t "/srv/sambashare(/.*)?"
sudo restorecon -Rv /srv/sambashare
“`
Verifica que el contexto fue aplicado:
“`bash
ls -lZ /srv/sambashare
“`
La salida debe mostrar `system_u:object_r:samba_share_t:s0` como el contexto SELinux. Omitir este paso es la razón más común por la que los recursos compartidos de Samba fallan en sistemas de la familia RHEL — el servicio parece iniciarse correctamente, pero los clientes reciben errores de “Acceso denegado”.
Paso 10: Acceder al recurso compartido desde Windows
En un cliente Windows:
- Abre el Explorador de archivos.
- En la barra de direcciones, escribe: `<server-ip>sambashare` y presiona Enter.
- Cuando se te solicite, introduce el nombre de usuario y la contraseña de Samba.
- Para hacer la conexión persistente, haz clic derecho en el recurso compartido y selecciona Conectar a unidad de red.
Para despliegues con scripts o empresariales, asigna la unidad desde la línea de comandos:
“`cmd
net use Z: 192.168.1.100sambashare /user:sambauser /persistent:yes
“`
Paso 11: Acceder al recurso compartido desde Linux
Usando smbclient (interactivo, para pruebas):
“`bash
smbclient //192.168.1.100/sambashare -U sambauser
“`
Esto abre un shell interactivo similar a FTP. Usa `ls`, `get`, `put` y `exit` para navegar y transferir archivos.
Montar el recurso compartido de forma persistente con CIFS:
Primero, instala el paquete de utilidades CIFS:
“`bash
sudo apt-get install cifs-utils # Debian/Ubuntu
sudo dnf install cifs-utils # RHEL/Fedora
“`
Crea un punto de montaje y un archivo de credenciales (nunca pongas contraseñas en `/etc/fstab` en texto plano):
“`bash
sudo mkdir -p /mnt/sambashare
sudo nano /etc/samba/credentials
“`
Dentro del archivo de credenciales:
“`
username=sambauser
password=yourpassword
domain=WORKGROUP
“`
Protege el archivo de credenciales:
“`bash
sudo chmod 600 /etc/samba/credentials
sudo chown root:root /etc/samba/credentials
“`
Añade el montaje a `/etc/fstab` para persistencia entre reinicios:
“`
//192.168.1.100/sambashare /mnt/sambashare cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,iocharset=utf8,vers=3.0,_netdev 0 0
“`
La opción `_netdev` indica al sistema que espere la disponibilidad de la red antes de intentar el montaje — esencial en servidores que montan recursos compartidos de red al arrancar. La opción `vers=3.0` fuerza SMB3, evitando la vuelta a dialectos más antiguos.
Prueba la entrada de fstab sin reiniciar:
“`bash
sudo mount -a
“`
Comparación de versiones del protocolo SMB
Elegir el dialecto SMB correcto afecta al rendimiento, la seguridad y la compatibilidad. La siguiente tabla resume las diferencias clave:
| Versión SMB | Año | Características principales | Seguridad | Uso recomendado |
|---|
| ————- | —— | ————– | ———- | —————– |
|---|
| SMB1 | 1983 | Intercambio de archivos básico | Críticamente vulnerable (EternalBlue) | Nunca usar — deshabilitar explícitamente |
|---|
| SMB2 | 2006 | Canalización, menor comunicación, firma | Mejorada | Clientes Windows Vista/7 heredados |
|---|
| SMB2.1 | 2010 | Arrendamiento de oplock de cliente | Mejorada | Windows 7/2008 R2 |
|---|
| SMB3.0 | 2012 | Multicanal, cifrado, conmutación por error | Sólida | Windows 8/2012 y posteriores |
|---|
| SMB3.1.1 | 2015 | Integridad pre-autenticación, AES-128-GCM | La más sólida | Windows 10/11, Linux moderno |
|---|
Establece siempre `min protocol = SMB2` en `[global]` y prefiere `SMB3` donde todos los clientes lo soporten. SMB3.1.1 con cifrado (`smb encrypt = required`) es la elección correcta para cualquier recurso compartido que contenga datos sensibles.
Samba vs. NFS: Elegir el protocolo adecuado
Tanto Samba (SMB/CIFS) como NFS se utilizan ampliamente para el intercambio de archivos en red basado en Linux, pero sirven para diferentes casos de uso:
| Criterio | Samba (SMB/CIFS) | NFS |
|---|
| ———- | —————– | —– |
|---|
| Caso de uso principal | Multiplataforma (Linux + Windows) | Intercambio Linux a Linux |
|---|
| Compatibilidad con clientes Windows | Nativa, sin software cliente necesario | Requiere instalación del cliente NFS |
|---|
| Compatibilidad con macOS | Nativa (SMB) | Compatible mediante cliente NFS integrado |
|---|
| Autenticación | Usuario/contraseña, integración con AD | Basada en host (IP/nombre de host) |
|---|
| Rendimiento (LAN) | Sobrecarga ligeramente mayor | Menor sobrecarga, más rápido en LAN |
|---|
| Cifrado | SMB3 admite cifrado AES | NFSv4.2 admite cifrado krb5 |
|---|
| Complejidad de configuración | Moderada | Menor en entornos solo Linux |
|---|
| Ideal para | Entornos de SO mixtos, integración de dominio | Clústeres Linux homogéneos, HPC |
|---|
Si tu infraestructura es exclusivamente Linux — por ejemplo, un clúster de Servidores Dedicados ejecutando cargas de trabajo en contenedores — NFS puede ofrecer menor latencia. Para cualquier entorno con clientes Windows o usuarios de macOS, Samba es la elección correcta.
Errores comunes y solución de problemas
El recurso compartido es visible pero devuelve “Acceso denegado”
- En sistemas SELinux: Comprueba y aplica el contexto `samba_share_t` como se describe en el Paso 9.
- Comprueba los permisos de Linux: El usuario que se conecta (o la cuenta `nobody` para recursos compartidos de invitado) debe tener acceso de lectura/escritura a nivel de sistema de archivos en la ruta, independientemente de las ACL propias de Samba.
- Verifica smbpasswd: El usuario debe estar añadido con `smbpasswd -a` y habilitado con `smbpasswd -e`.
El recurso compartido no es visible al explorar la red
- Confirma que `nmbd` está en ejecución: `sudo systemctl status nmbd`.
- Asegúrate de que `browsable = yes` está establecido en la definición del recurso compartido.
- Windows 10/11 deshabilitó el servicio “Explorador de equipos” dependiente de SMB1. Usa rutas UNC directas (`ipshare`) en lugar de depender de la detección de red.
Velocidades de transferencia lentas
- Fuerza SMB3 con `vers=3.0` o `vers=3.1.1` en las opciones de montaje.
- Habilita MTU grande: añade `socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072` a `[global]`.
- Comprueba si el multicanal SMB está disponible: `smbstatus –verbose`.
Registros y diagnósticos
“`bash
sudo tail -f /var/log/samba/log.smbd
sudo smbstatus
sudo pdbedit -L -v # List all Samba users
“`
Samba en producción: consideraciones de arquitectura
Para despliegues en producción más allá de un simple recurso compartido de archivos, considera lo siguiente:
Integración con Active Directory: Samba 4 puede funcionar como un Controlador de Dominio de Active Directory completo, admitiendo LDAP, Kerberos, DNS y Directiva de grupo. Este es un paso arquitectónico significativo más allá del intercambio de archivos independiente y requiere el aprovisionamiento de `samba-ad-dc`.
Recursos compartidos de directorio home: El meta-servicio `[homes]` en `smb.conf` crea automáticamente un recurso compartido personal para cada usuario autenticado, asignado a su directorio home de Linux. Esto elimina la necesidad de definir bloques de recursos compartidos individuales por usuario.
Compartición de impresoras: Samba se integra con CUPS para compartir impresoras en la red. Las definiciones de recursos compartidos `[printers]` y `[print$]` gestionan esto, aunque la compartición de impresoras se ha vuelto menos común con el auge de los servicios de impresión en la nube.
Cuotas: Samba respeta las cuotas del sistema de archivos de Linux. Implementa cuotas a nivel del sistema de archivos usando las herramientas `quota`, y Samba las aplicará de forma transparente.
Para equipos que ejecutan aplicaciones web junto con recursos compartidos de archivos, combinar Samba con un VPS con cPanel te proporciona un panel de control gestionado para el alojamiento web mientras conservas acceso SSH completo para la administración de Samba. Para entornos que requieren múltiples servicios de alojamiento bajo un mismo techo, revisar los Paneles de Control VPS disponibles ayuda a identificar la capa de gestión adecuada para tu stack.
Si tu servidor Samba también aloja contenido web o datos de aplicaciones, asegurarlo con un Certificado SSL para cualquier servicio web asociado garantiza que todo el stack cumple los estándares de seguridad modernos.
Lista de verificación técnica de puntos clave
Usa esta lista de verificación antes de considerar tu despliegue de Samba listo para producción:
- [ ] SMB1 deshabilitado explícitamente mediante `min protocol = SMB2` en `[global]`
- [ ] Usuarios de Samba creados con `smbpasswd -a` y habilitados con `smbpasswd -e`
- [ ] Las cuentas de servicio usan `-s /sbin/nologin` para bloquear el acceso al shell
- [ ] Los directorios de recursos compartidos usan el bit setgid (`chmod 2770`) para una propiedad de grupo consistente
- [ ] `testparm` se ejecuta limpiamente sin advertencias ni errores
- [ ] Tanto `smbd` como `nmbd` están habilitados y en ejecución
- [ ] Las reglas del firewall restringen los puertos SMB (445, 139, 137-138) solo a IPs de origen de confianza
- [ ] Contexto SELinux (`samba_share_t`) aplicado en sistemas RHEL/CentOS/Fedora
- [ ] El archivo de credenciales para montajes CIFS es `chmod 600` y es propiedad de root
- [ ] Las entradas de `/etc/fstab` usan la opción `_netdev` para montajes dependientes de red
- [ ] Registros de Samba revisados en `/var/log/samba/` tras el despliegue inicial
- [ ] `smbstatus` confirma sesiones activas y archivos bloqueados tras el despliegue
Preguntas frecuentes
¿Qué puertos usa Samba y es necesario abrir todos ellos?
Samba usa TCP 445 (SMB directo, obligatorio), TCP 139 (SMB sobre NetBIOS, necesario para clientes heredados) y UDP 137-138 (resolución de nombres NetBIOS, necesario para la exploración de red). Para entornos modernos con clientes Windows 10/11 o Linux que usan rutas UNC directas, solo se requiere estrictamente TCP 445. UDP 137-138 y TCP 139 pueden bloquearse si no se necesita la resolución de nombres NetBIOS.
¿Por qué mi recurso compartido de Samba funciona desde Linux pero devuelve “Acceso denegado” desde Windows?
Esto es casi siempre un problema de caché de credenciales en el lado de Windows. Windows almacena en caché las credenciales SMB por sesión. Abre el Administrador de credenciales (Panel de control > Administrador de credenciales > Credenciales de Windows), elimina cualquier entrada en caché para la IP del servidor y vuelve a conectarte. Si el problema persiste, verifica que el usuario está habilitado en la base de datos de Samba con `sudo pdbedit -L -v`.
¿Cuál es la diferencia entre `security = user` y `security = share` en smb.conf?
`security = share` (seguridad a nivel de recurso compartido) está obsoleto y eliminado en Samba 4. `security = user` (seguridad a nivel de usuario) es el único modo compatible en Samba moderno — cada conexión se autentica con un nombre de usuario y contraseña específicos. El acceso de invitado se gestiona por separado mediante las directivas `guest ok` y `map to guest`, no a través del parámetro `security`.
¿Puede Samba coexistir con NFS en el mismo servidor?
Sí. Samba y NFS operan en puertos y protocolos completamente diferentes y no entran en conflicto a nivel de red. Sin embargo, compartir el mismo directorio a través de ambos protocolos simultáneamente puede causar conflictos de bloqueo de archivos, especialmente con operaciones de escritura. Si debes compartir los mismos datos a través de ambos protocolos, usa un gestor de bloqueo distribuido (DLM) o restringe un protocolo a acceso de solo lectura.
¿Cómo añado múltiples usuarios a un único recurso compartido de Samba?
Usa un grupo Linux. Crea el grupo (`groupadd teamshare`), añade usuarios a él (`usermod -aG teamshare user1`), establece la propiedad de grupo del directorio del recurso compartido (`chown root:teamshare /srv/share`) y referencia el grupo en `smb.conf` con `valid users = @teamshare`. Este enfoque escala limpiamente — añadir un usuario al recurso compartido solo requiere un comando `usermod` y un registro `smbpasswd -a`, sin cambios en `smb.conf`.
