Instalar y Configurar Samba en tu Servidor con Debian 12

Cómo Instalar y Configurar Samba en Debian (Guía Completa 2026)

 📘Este artículo forma parte de nuestra Guía Completa de Servidores y Virtualización. Si buscas alternativas para compartir archivos, consulta Cómo instalar Nextcloud y Cómo instalar ownCloud.

Introducción

Samba es la implementación libre del protocolo SMB/CIFS, el estándar para compartir archivos en redes Windows. Con Samba puedes:

  • Compartir archivos entre Linux, Windows y macOS.
  • Montar recursos de Windows desde Linux.
  • Actuar como controlador de dominio (AD DC).
  • Compartir impresoras en red.
  • Integrar tu servidor Linux en redes Windows existentes.

En 2026, Samba sigue siendo la herramienta de referencia para interoperabilidad Linux-Windows. Aunque existen alternativas modernas (Nextcloud, ownCloud), Samba es insustituible en entornos donde Windows domina.

En esta guía completa vas a aprender:

  • Qué es Samba y por qué usarlo.
  • Instalación en Debian 12.
  • Configuración segura (usuarios, permisos).
  • Compartir archivos con autenticación.
  • Compartir carpetas públicas de forma segura.
  • Impresoras en red con CUPS + Samba.
  • Acceder desde Windows, macOS y Linux.
  • Montar recursos Windows desde Linux.
  • Integración con Active Directory.
  • Optimización y rendimiento.
  • Seguridad y hardening.
  • Backups automáticos.
  • Troubleshooting extenso.
  • FAQ.

Si aún no tienes un servidor Linux funcional, consulta nuestra Guía Completa de Servidores.


Índice de contenidos

  1. ¿Qué es Samba?
  2. Requisitos
  3. Instalación
  4. Configuración básica
  5. Usuarios Samba
  6. Compartir archivos
  7. Compartir impresoras
  8. Acceder desde Windows
  9. Acceder desde macOS
  10. Acceder desde Linux
  11. Montar recursos Windows en Linux
  12. Seguridad
  13. Optimización
  14. Integración con Active Directory
  15. Backups
  16. Troubleshooting
  17. FAQ
  18. Conclusión

1. ¿Qué es Samba?

Samba es una implementación libre del protocolo SMB/CIFS (Server Message Block / Common Internet File System), desarrollada originalmente por Andrew Tridgell en 1992.

1.1 Componentes

ComponenteFunción
smbdDemonio de archivos e impresión
nmbdResolución de nombres NetBIOS
winbinddIntegración con AD/LDAP
smbclientCliente CLI
smbpasswdGestión de usuarios Samba
testparmVerificación de configuración

1.2 Casos de uso

  • Compartir archivos entre Linux y Windows.
  • Servidor de archivos en oficinas.
  • Integración de Linux en AD.
  • Controlador de dominio (PDC/BDC).
  • Compartir impresoras en red.
  • Backups centralizados.

1.3 Samba vs otras alternativas

HerramientaInteroperabilidadProtocolo
SambaWindows, Linux, macOSSMB/CIFS
NFSLinux, macOSNFS
NextcloudWeb, multi-clienteHTTP/WebDAV
ownCloudWeb, multi-clienteHTTP/WebDAV
FTP/SFTPTodosFTP/SFTP

Recomendación:

  • Redes Windows: Samba.
  • Redes Linux: NFS.
  • Acceso web/móvil: Nextcloud.

1.4 Versiones de Samba

  • Samba 4.19+ (Debian 12) — moderna, con soporte AD.
  • Samba 4.22+ (2026) — última, con SMB3 mejorado.

Novedades 2026:

  • SMB3 con cifrado por defecto.
  • Multicanal SMB para más ancho de banda.
  • SMB Direct (RDMA) para redes 10G+.
  • Mejor integración con AD.

Consulta Guía Completa de Redes.


2. Requisitos

2.1 Hardware

  • Cualquier servidor Linux con Debian 12.
  • RAM: mínimo 512 MB.
  • Disco: según datos a compartir.
  • Red: 100 Mbps mínimo, 1 Gbps recomendado.

2.2 Software

  • Debian 12 (Bookworm) — recomendado.
  • Debian 11 (Bullseye) — funciona.
  • Samba 4.19+.

2.3 Puertos

PuertoServicio
137/udpNetBIOS Name Service
138/udpNetBIOS Datagram
139/tcpNetBIOS Session
445/tcpSMB over TCP

⚠️ Nunca exponer Samba a internet. Solo en red local.

2.4 Preparación

sudo apt update
sudo apt full-upgrade -y

Consulta Guía Completa de Linux.


3. Instalación

3.1 Instalar Samba

sudo apt install -y samba samba-common-bin smbclient cifs-utils

Explicación:

  • samba: servidor Samba.
  • samba-common-bin: herramientas (smbpasswd, testparm).
  • smbclient: cliente SMB.
  • cifs-utils: para montar recursos Windows.

3.2 Verificar instalación

smbd --version

Debería mostrar:

Version 4.19.x

3.3 Backup de configuración original

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

3.4 Ver estado de servicios

sudo systemctl status smbd nmbd

Deberían estar active (running).

3.5 Firewall

Si es red local:

sudo ufw allow from 192.168.1.0/24 to any port 137,138,139,445 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 137,138 proto udp

⚠️ Nunca abras Samba a internet.

Consulta Guía para configurar firewall en Debian.


4. Configuración básica

4.1 Archivo principal

sudo nano /etc/samba/smb.conf

4.2 Configuración global segura

Sección [global]:

[global]
    # Identidad
    workgroup = WORKGROUP
    server string = %h server (Samba, Debian)
    netbios name = SERVIDOR

    # Seguridad (¡cambiar de user a ADS si usas AD!)
    security = user
    map to guest = never
    server role = standalone server

    # Protocolos (mínimo SMB2 en 2026)
    server min protocol = SMB2
    client min protocol = SMB2
    server max protocol = SMB3

    # Cifrado
    smb encrypt = required

    # Autenticación
    passdb backend = tdbsam

    # Logs
    log file = /var/log/samba/log.%m
    max log size = 1000
    log level = 1

    # Rendimiento
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
    read raw = yes
    write raw = yes
    use sendfile = yes

    # DNS (útil si hay problemas con NetBIOS)
    dns proxy = no

    # Compatibilidad
    usershare allow guests = no
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes

⚠️ Importante:

  • map to guest = never: no permite invitados.
  • server min protocol = SMB2: deshabilita SMB1 (inseguro).
  • smb encrypt = required: cifra todas las comunicaciones.

4.3 Verificar configuración

sudo testparm

Debería mostrar los parámetros y decir «Loaded services file OK.»

4.4 Reiniciar Samba

sudo systemctl restart smbd nmbd

Consulta Guía Completa de Servidores.


5. Usuarios Samba

Samba usa su propia base de datos de usuarios (tdbsam), independiente de los usuarios del sistema.

5.1 Crear usuario del sistema

sudo adduser juan

5.2 Añadir usuario a Samba

sudo smbpasswd -a juan

Introduce una contraseña robusta (distinta a la del sistema).

5.3 Ver usuarios Samba

sudo pdbedit -L

Debería mostrar:

juan:1001:Juan Pérez

5.4 Deshabilitar usuario Samba

sudo smbpasswd -d juan

5.5 Habilitar usuario Samba

sudo smbpasswd -e juan

5.6 Cambiar contraseña

sudo smbpasswd juan

5.7 Eliminar usuario Samba

sudo smbpasswd -x juan

5.8 Grupos Samba

Añadir usuario a grupo:

sudo usermod -aG nombre-grupo juan

Crear grupo:

sudo groupadd oficina
sudo usermod -aG oficina juan
sudo usermod -aG oficina maria

Ver grupos:

groups juan

5.9 Contraseña robusta

Consulta Buenas prácticas en contraseñas y 2FA.


6. Compartir archivos

6.1 Preparar directorios

# Crear estructura
sudo mkdir -p /srv/samba/{publico,oficina,privado}

# Permisos
sudo chown -R root:oficina /srv/samba/oficina
sudo chmod -R 2770 /srv/samba/oficina

sudo chown -R root:root /srv/samba/privado
sudo chmod -R 700 /srv/samba/privado

sudo chown -R nobody:nogroup /srv/samba/publico
sudo chmod -R 777 /srv/samba/publico

Explicación:

  • 2770: setgid + rwx para propietario/grupo, sin acceso a otros.
  • 700: solo propietario.

6.2 Configurar carpetas compartidas

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

Carpeta pública (solo lectura):

[publico]
    path = /srv/samba/publico
    browseable = yes
    read only = yes
    guest ok = no
    valid users = @users
    force user = nobody
    force group = nogroup
    create mask = 0664
    directory mask = 0775

Carpeta de oficina (lectura/escritura por grupo):

[oficina]
    path = /srv/samba/oficina
    browseable = yes
    read only = no
    guest ok = no
    valid users = @oficina
    write list = @oficina
    create mask = 0660
    directory mask = 0770
    force group = oficina

Carpeta privada (solo propietario):

[privado]
    path = /srv/samba/privado
    browseable = no
    read only = no
    guest ok = no
    valid users = admin
    create mask = 0600
    directory mask = 0700

Carpeta personal por usuario (con %U):

[homes]
    comment = Home Directories
    browseable = no
    read only = no
    create mask = 0700
    directory mask = 0700
    valid users = %S

%U = nombre de usuario, %S = nombre del servicio.

6.3 Verificar y reiniciar

sudo testparm
sudo systemctl restart smbd nmbd

6.4 Ver carpetas compartidas

smbclient -L localhost -U juan

Debería listar los recursos compartidos.

Consulta Guía Completa de Redes.


7. Compartir impresoras

7.1 Instalar CUPS

sudo apt install -y cups cups-client

Consulta nuestra Guía de CUPS.

7.2 Habilitar impresoras en Samba

En /etc/samba/smb.conf:

[global]
    load printers = yes
    printing = cups
    printcap name = cups
    cups options = raw

[printers]
    comment = All Printers
    browseable = no
    path = /var/spool/samba
    printable = yes
    guest ok = no
    read only = yes
    create mask = 0700

[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers
    browseable = yes
    read only = yes
    guest ok = no
    write list = root, @lpadmin

7.3 Reiniciar

sudo systemctl restart smbd nmbd cups

Consulta Cómo configurar un servidor de impresión con CUPS.


8. Acceder desde Windows

8.1 Explorador de archivos

  1. Abre Explorador de archivos (Win + E).
  2. En la barra de direcciones escribe:
\\IP_DEL_SERVIDOR

O por nombre:

\\SERVIDOR
  1. Introduce usuario y contraseña de Samba.
  2. Accede a las carpetas compartidas.

8.2 Mapear unidad de red

  1. Este equipo → Clic derecho → Conectar a unidad de red.
  2. Letra: Z:.
  3. Carpeta: \\IP_DEL_SERVIDOR\oficina.
  4. Conectar con otras credenciales.
  5. Usuario y contraseña.
  6. Finalizar.

Ahora tienes Z: en «Este equipo».

8.3 Acceso permanente

Marca «Conectar de nuevo al iniciar sesión» para que se monte automáticamente.

8.4 Problemas comunes

«No se puede acceder a \IP»

  • Firewall bloquea puertos 137-445.
  • Samba no funciona.
  • IP incorrecta.

«Credenciales incorrectas»

  • Usuario no creado en Samba (smbpasswd -a).
  • Contraseña incorrecta.
  • Usuario deshabilitado.

«Acceso denegado»

  • Permisos de archivos incorrectos.
  • valid users no incluye al usuario.

Consulta Guía Completa de Redes.


9. Acceder desde macOS

9.1 Finder

  1. Finder → Ir → Conectar al servidor (⌘+K).
  2. Escribe:
smb://IP_DEL_SERVIDOR
  1. Introduce usuario y contraseña.

9.2 Montar al inicio

Preferencias del Sistema → Usuarios y grupos → Ítems de inicio → añade el recurso montado.

9.3 Problemas con macOS

«No se puede conectar al servidor»

  • Añade server min protocol = SMB2 en smb.conf.
  • Habilita vfs objects = catia fruit streams_xattr para mejor compatibilidad.

Recomendación:

[global]
    vfs objects = catia fruit streams_xattr
    fruit:metadata = stream
    fruit:model = MacSamba
    fruit:veto_appledouble = no
    fruit:posix_rename = yes
    fruit:zero_file_id = yes
    fruit:wipe_intentionally_left_blank_rfork = yes
    fruit:delete_empty_adfiles = yes

Consulta Guía Completa de Redes.


10. Acceder desde Linux

10.1 smbclient

smbclient -L //IP_DEL_SERVIDOR -U juan

Lista los recursos compartidos.

smbclient //IP_DEL_SERVIDOR/oficina -U juan

Entra al recurso (shell tipo FTP).

10.2 Montar con mount.cifs

sudo mkdir /mnt/oficina
sudo mount -t cifs //IP_DEL_SERVIDOR/oficina /mnt/oficina \
    -o username=juan,password=tu_password,uid=$(id -u),gid=$(id -g),vers=3.0

10.3 Montaje automático en /etc/fstab

Crea archivo de credenciales:

sudo nano /etc/samba/credentials
username=juan
password=tu_password
domain=WORKGROUP
sudo chmod 600 /etc/samba/credentials

Añade a /etc/fstab:

//IP_DEL_SERVIDOR/oficina /mnt/oficina cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,vers=3.0,_netdev 0 0

Montar:

sudo mount -a

10.4 Gestores gráficos

  • GNOME Files (Nautilus): smb://IP_DEL_SERVIDOR
  • Dolphin (KDE): smb://IP_DEL_SERVIDOR
  • Thunar (XFCE): similar.

Consulta Guía Completa de Linux.


11. Montar recursos Windows en Linux

Para montar una carpeta compartida de Windows en tu servidor Linux:

sudo mkdir /mnt/windows
sudo mount -t cifs //IP_WINDOWS/Compartida /mnt/windows \
    -o username=usuario_windows,password=tu_password,vers=3.0

En /etc/fstab:

//IP_WINDOWS/Compartida /mnt/windows cifs credentials=/etc/samba/credentials,uid=1000,gid=1000,vers=3.0,_netdev 0 0

Consulta Qué es un VPS y cómo funciona si trabajas con servidores externos.


12. Seguridad

12.1 Checklist de seguridad

  1. Nunca exponer Samba a internet.
  2. SMB2+ mínimo (SMB1 deshabilitado).
  3. Cifrado SMB3 obligatorio.
  4. Usuarios con contraseñas robustas.
  5. map to guest = never.
  6. valid users en todas las carpetas.
  7. Firewall restrictivo.
  8. Fail2ban.
  9. Backups regulares.
  10. Actualizaciones al día.

12.2 Deshabilitar SMB1

Ya lo hicimos con:

server min protocol = SMB2

SMB1 tiene vulnerabilidades graves (WannaCry, EternalBlue).

Consulta La historia de los ataques cibernéticos más infames.

12.3 Cifrado SMB3

smb encrypt = required

Ventaja: todo el tráfico cifrado.

Inconveniente: ligera pérdida de rendimiento.

12.4 Restringir por IP

En /etc/samba/smb.conf:

[global]
    hosts allow = 192.168.1.0/24 10.0.0.0/8
    hosts deny = 0.0.0.0/0

12.5 Fail2ban

Instalar:

sudo apt install -y fail2ban

Filtro para Samba (/etc/fail2ban/filter.d/samba.conf):

[Definition]
failregex = ^\s*Authentication for user .* failed.* from <HOST>
ignoreregex =

Jail (/etc/fail2ban/jail.d/samba.conf):

[samba]
enabled = true
port = 137,138,139,445
filter = samba
logpath = /var/log/samba/log.%m
maxretry = 5
bantime = 86400
findtime = 3600

Consulta Cómo configurar y usar Fail2ban.

12.6 AppArmor

Ver perfil de Samba:

sudo aa-status | grep smbd

Si hay problemas:

sudo aa-complain /usr/sbin/smbd

Cuando funcione:

sudo aa-enforce /usr/sbin/smbd

12.7 Auditoría

Logs de Samba:

sudo tail -f /var/log/samba/log.smbd
sudo tail -f /var/log/samba/log.nmbd

Log por cliente:

sudo tail -f /var/log/samba/log.NOMBRE_CLIENTE

Consulta Análisis de registros en Linux.

12.8 No exponer a internet

Regla de oro. Si necesitas acceso remoto, usa:

  • VPN (WireGuard, Tailscale).
  • Cloudflare Tunnel.
  • Zero Trust.

Consulta Cómo montar tu propio servidor de VPN y Zero Trust.


13. Optimización

13.1 Ajustes de rendimiento

En /etc/samba/smb.conf:

[global]
    # Búferes grandes
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
    read raw = yes
    write raw = yes
    use sendfile = yes
    min receivefile size = 16384

    # SMB3 multicanal
    server multi channel support = yes

    # Cache
    oplocks = yes
    level2 oplocks = yes
    kernel oplocks = no
    posix locking = no

    # SMB3
    server max protocol = SMB3

13.2 Ajustar según red

Redes rápidas (1 Gbps+):

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=524288 SO_SNDBUF=524288

Redes lentas (100 Mbps):

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536

13.3 Multichannel SMB

Requiere múltiples interfaces de red.

server multi channel support = yes
aio read size = 1
aio write size = 1

Ventajas: suma ancho de banda de varias NICs.

Consulta Guía Completa de Redes.

13.4 SMB Direct (RDMA)

Solo para redes de alta velocidad (10G+).

Requiere:

  • Hardware con RDMA.
  • Kernel con soporte.

Consulta Optimización de servidores Linux.

13.5 Monitorizar

Con Netdata:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Consulta Guía de Netdata.

Con Zabbix:

Consulta Guía de Zabbix.


14. Integración con Active Directory

Para entornos empresariales con Windows Server.

14.1 Unir Samba a AD

Requisitos:

  • DNS configurado para AD.
  • Kerberos funcionando.
  • NTP sincronizado.

Instalar paquetes:

sudo apt install -y winbind libnss-winbind libpam-winbind krb5-user

Configurar /etc/krb5.conf:

[libdefaults]
    default_realm = TUDOMINIO.LOCAL
    dns_lookup_realm = false
    dns_lookup_kdc = true

[realms]
    TUDOMINIO.LOCAL = {
        kdc = dc1.tudominio.local
        admin_server = dc1.tudominio.local
    }

[domain_realm]
    .tudominio.local = TUDOMINIO.LOCAL
    tudominio.local = TUDOMINIO.LOCAL

Configurar /etc/samba/smb.conf:

[global]
    workgroup = TUDOMINIO
    realm = TUDOMINIO.LOCAL
    security = ADS
    idmap config * : backend = tdb
    idmap config * : range = 3000-7999
    idmap config TUDOMINIO : backend = rid
    idmap config TUDOMINIO : range = 10000-999999
    winbind use default domain = yes
    winbind enum users = yes
    winbind enum groups = yes
    template shell = /bin/bash
    template homedir = /home/%U

Unir al dominio:

sudo net ads join -U administrador

Reiniciar:

sudo systemctl restart smbd nmbd winbind

Verificar:

sudo wbinfo -u
sudo wbinfo -g

Consulta Gestión de identidades y accesos (IAM) y Por qué elegir Windows Server.

14.2 Montar Samba como Domain Controller

Más complejo. Consulta documentación oficial: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller


15. Backups

15.1 Qué respaldar

  • Configuración (/etc/samba/).
  • Base de datos de usuarios (/var/lib/samba/).
  • Datos compartidos (/srv/samba/).

15.2 Script de backup

sudo nano /usr/local/bin/backup-samba.sh
#!/bin/bash
set -e

FECHA=$(date +%F)
DESTINO="/backup/samba"
mkdir -p "$DESTINO"

# Configuración
tar -czf "$DESTINO/samba-config-$FECHA.tar.gz" /etc/samba/

# Base de datos de usuarios
tar -czf "$DESTINO/samba-db-$FECHA.tar.gz" /var/lib/samba/

# Datos compartidos
rsync -av --delete /srv/samba/ "$DESTINO/datos/"

# Retención 30 días
find "$DESTINO" -name "*.gz" -mtime +30 -delete

echo "Backup completado: $FECHA"
sudo chmod +x /usr/local/bin/backup-samba.sh

15.3 Programar con cron

sudo crontab -e
0 3 * * * /usr/local/bin/backup-samba.sh >> /var/log/backup-samba.log 2>&1

15.4 Probar restauración

Esencial. Un backup no probado no es un backup.

Consulta La importancia de los backups y Cómo hacer un backup seguro en Linux.


16. Troubleshooting

16.1 No puedo acceder desde Windows

Diagnóstico:

# Ver servicio
sudo systemctl status smbd

# Ver puertos
sudo ss -tulpn | grep -E '445|139'

# Ver configuración
sudo testparm

# Logs
sudo tail -f /var/log/samba/log.smbd

Causas comunes:

  • Firewall bloquea puertos.
  • Servicio no funciona.
  • IP incorrecta.
  • Nombre NetBIOS no resuelve.

Solución:

sudo ufw allow from 192.168.1.0/24 to any port 137:139,445 proto tcp

16.2 Error de autenticación

Diagnóstico:

sudo pdbedit -L
sudo smbpasswd -e usuario

Causas:

  • Usuario no creado con smbpasswd -a.
  • Usuario deshabilitado.
  • Contraseña incorrecta.

16.3 «Permission denied»

Diagnóstico:

ls -la /srv/samba/
sudo -u usuario test -r /srv/samba/oficina/file.txt && echo OK

Causas:

  • Permisos incorrectos.
  • Propietario/grupo incorrecto.
  • valid users no incluye al usuario.

Solución:

sudo chown -R root:grupo /srv/samba/oficina
sudo chmod -R 2770 /srv/samba/oficina

16.4 Samba va lento

Causas:

  • Red saturada.
  • Configuración por defecto.
  • Disco lento.
  • SMB1 en uso.

Solución:

server min protocol = SMB3
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=524288 SO_SNDBUF=524288

16.5 macOS no conecta

Solución:

[global]
    server min protocol = SMB2
    vfs objects = catia fruit streams_xattr
    fruit:model = MacSamba

16.6 Samba no arranca

Diagnóstico:

sudo systemctl status smbd
sudo journalctl -u smbd -n 50
sudo testparm

Causas:

  • Configuración con errores.
  • Puerto ocupado.
  • AppArmor bloquea.

Solución:

sudo aa-complain /usr/sbin/smbd

16.7 Los cambios no se aplican

Solución:

sudo testparm
sudo systemctl restart smbd nmbd

⚠️ reload no siempre aplica cambios. Usa restart.

16.8 Recursos no visibles en Windows

Causas:

  • browseable = no.
  • NetBIOS no resuelve.
  • Firewall bloquea puerto 137/138 (UDP).

Solución:

[global]
    local master = yes
    preferred master = yes
    os level = 65

16.9 Cifrado SMB3 causa problemas

Diagnóstico:

smb encrypt = auto

En lugar de required, usa auto (negocia).

16.10 Ver logs específicos

# Log del servicio
sudo tail -f /var/log/samba/log.smbd

# Log por cliente (por IP o nombre)
sudo tail -f /var/log/samba/log.192.168.1.100

# Log general
sudo tail -f /var/log/syslog | grep smbd

Consulta Análisis de registros en Linux.


17. FAQ

¿Qué es Samba?

Samba es la implementación libre del protocolo SMB/CIFS que permite compartir archivos e impresoras entre Linux, Windows y macOS.

¿Samba o NFS?

  • Samba: para redes Windows o mixtas.
  • NFS: para redes Linux-only.

Recomendación: Samba para compatibilidad universal.

¿Samba o Nextcloud?

  • Samba: compartición en red local, protocolo nativo Windows.
  • Nextcloud: nube con acceso web, móvil, sincronización.

Recomendación: usa ambos según necesidad.

Consulta Cómo instalar Nextcloud.

¿Cómo creo un usuario Samba?

sudo adduser juan
sudo smbpasswd -a juan

Consulta la sección 5.

¿Cómo comparto una carpeta?

Añade al smb.conf:

[oficina]
    path = /srv/samba/oficina
    valid users = @oficina
    read only = no

Consulta la sección 6.

¿Cómo accedo desde Windows?

\\IP_DEL_SERVIDOR

Introduce usuario y contraseña.

¿Cómo monto una unidad en Windows?

  1. Este equipo → Conectar a unidad de red.
  2. \\IP\oficina
  3. Credenciales.

Consulta la sección 8.

¿Cómo accedo desde macOS?

Finder → ⌘+K → smb://IP.

Consulta la sección 9.

¿Cómo accedo desde Linux?

smbclient //IP/oficina -U juan

O montar:

sudo mount -t cifs //IP/oficina /mnt/oficina -o username=juan

¿Samba es seguro?

Sí, si lo configuras bien:

  • SMB2+ (nunca SMB1).
  • Cifrado SMB3.
  • Usuarios con contraseñas robustas.
  • map to guest = never.
  • Firewall.
  • Fail2ban.

Consulta la sección 12.

¿Puedo exponer Samba a internet?

NO. Nunca. Samba está diseñado para redes locales.

Para acceso remoto: usa VPN.

Consulta Cómo montar tu propio servidor de VPN.

¿Samba soporta SMB1?

Sí, pero está deshabilitado por defecto (por seguridad).

SMB1 tiene vulnerabilidades graves (WannaCry). No lo uses.

¿Cómo comparto impresoras?

Con CUPS + Samba. Consulta la sección 7.

¿Cómo integro Samba con Active Directory?

Con winbind.

Consulta la sección 14.

¿Cuántos usuarios soporta Samba?

Miles. El límite lo pone el hardware.

Recomendación: para +100 usuarios, considera AD.

¿Samba soporta cuotas?

Sí, con cuotas de sistema de archivos:

sudo apt install quota
sudo quotacheck -cugm /
sudo quotaon /

¿Cómo hago backup?

Consulta la sección 15.

Backup de configuración + base de datos de usuarios + datos.

¿Cuál es la velocidad máxima?

Depende de:

  • Red: 1 Gbps = ~110 MB/s.
  • 10 Gbps = ~1 GB/s.
  • Disco: SSD NVMe = rápido.

Optimiza con:

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=524288 SO_SNDBUF=524288

¿Samba funciona en Raspberry Pi?

Sí, perfectamente. Consulta Guía completa de Raspberry Pi.

¿Samba consume muchos recursos?

No. Consume ~50-200 MB RAM.

Depende de usuarios y tráfico.

¿Samba afecta al SEO?

No, si es interno. No lo expongas públicamente.

¿Cómo migro a Samba 5.x?

Samba 4.x es la versión actual. No hay Samba 5.

¿Samba soporta Windows 11?

Sí. Windows 11 deshabilita SMB1 por defecto, pero SMB2/3 funcionan.

¿Qué es %U y %S?

  • %U: nombre de usuario.
  • %S: nombre del servicio.

Útiles en homes y configuraciones dinámicas.

¿Cómo veo conexiones activas?

sudo smbstatus

Muestra usuarios, archivos abiertos, locks.

¿Cómo cierro sesiones?

sudo smbcontrol smbd close-share nombre-compartido

O reiniciar Samba.

¿Samba soporta 2FA?

No de forma nativa.

Alternativas:

  • VPN con 2FA + Samba local.
  • Autenticación AD con MFA.
  • Cloudflare Access delante.

Consulta Buenas prácticas en contraseñas y 2FA.


18. Conclusión

Samba es la herramienta definitiva para compartir archivos entre Linux y Windows. Con Debian 12 + Samba 4.19+, tienes una solución segura, rápida y compatible con prácticamente cualquier sistema operativo.

Puntos clave:

  1. Instalación sencilla con apt install samba.
  2. Configuración segura (SMB2+, cifrado, sin invitados).
  3. Usuarios Samba con smbpasswd -a.
  4. Compartir carpetas con permisos granulares.
  5. Compartir impresoras con CUPS + Samba.
  6. Acceso desde Windows, macOS y Linux.
  7. Montar recursos Windows en Linux con mount.cifs.
  8. Integración con Active Directory con winbind.
  9. Seguridad: Fail2ban, firewall, cifrado.
  10. Optimización con SMB3 y multichannel.
  11. Backups automatizados.
  12. Troubleshooting extenso.

Si quieres seguir aprendiendo:

Deja un comentario