Samba es una implementación de software libre del protocolo SMB/CIFS que permite compartir archivos e impresoras entre sistemas operativos Linux/Unix y Windows. En este artículo, te mostraremos cómo realizar una configuración avanzada de Samba en Debian 12. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un sistema Debian 12 instalado.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.
  • Samba instalado.

Paso 1: Instalar Samba

Si aún no tienes Samba instalado, puedes hacerlo con el siguiente comando:

sudo apt update
sudo apt install samba -y

Paso 2: Configurar el Archivo smb.conf

El archivo de configuración principal de Samba es /etc/samba/smb.conf. Antes de hacer cambios importantes, es recomendable hacer una copia de seguridad del archivo original:

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

Luego, abre el archivo de configuración con tu editor de texto preferido:

sudo nano /etc/samba/smb.conf

Configuración Global

En la sección [global], puedes definir configuraciones globales que afectan a todo el servidor Samba. Aquí hay algunas configuraciones comunes que puedes ajustar:

[global]
   workgroup = WORKGROUP
   server string = Servidor Samba
   netbios name = debianserver
   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
   passdb backend = tdbsam

Configurar Comparticiones

Después de la sección [global], puedes definir las comparticiones. Aquí hay algunos ejemplos de configuraciones avanzadas:

Compartición Pública

Una compartición pública es accesible para todos los usuarios sin autenticación:

[Publico]
   path = /srv/samba/publico
   browseable = yes
   writable = yes
   guest ok = yes
   create mask = 0777
   directory mask = 0777

Crea el directorio y establece los permisos:

sudo mkdir -p /srv/samba/publico
sudo chmod -R 0777 /srv/samba/publico

Compartición Privada

Una compartición privada requiere autenticación:

[Privado]
   path = /srv/samba/privado
   browseable = yes
   writable = yes
   valid users = @sambausers
   create mask = 0770
   directory mask = 0770

Crea el directorio y establece los permisos:

sudo mkdir -p /srv/samba/privado
sudo chown -R root:sambausers /srv/samba/privado
sudo chmod -R 0770 /srv/samba/privado

Añadir Usuarios a Samba

Para crear un nuevo usuario de Samba, primero debes crear un usuario de sistema y luego añadirlo a Samba:

sudo adduser nombre_usuario
sudo smbpasswd -a nombre_usuario

Para añadir el usuario a un grupo específico (por ejemplo, sambausers):

sudo usermod -aG sambausers nombre_usuario

Paso 3: Reiniciar el Servicio Samba

Después de realizar cambios en el archivo de configuración, reinicia el servicio Samba para aplicar los cambios:

sudo systemctl restart smbd
sudo systemctl restart nmbd

Paso 4: Verificar la Configuración

Para verificar que la configuración de Samba es correcta y que las comparticiones están funcionando, puedes usar el siguiente comando:

testparm

Paso 5: Acceder a las Comparticiones Samba desde un Cliente

Desde un Sistema Linux

Puedes acceder a las comparticiones Samba desde un sistema Linux usando el comando smbclient:

smbclient //debianserver/Publico -U nombre_usuario

Desde un Sistema Windows

  1. Abre el Explorador de Archivos.
  2. En la barra de direcciones, escribe \\debianserver\Publico y presiona Enter.
  3. Ingresa las credenciales cuando se te solicite.

Para mejorar el rendimiento y la gestión de tu infraestructura de red y servicios de archivos con Samba, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Linux SSD VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones y servicios. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.