Configurar un recurso Samba y montarlo por CIFS en Linux

·4 min de lectura·

Samba permite compartir directorios mediante el protocolo SMB. En Linux, el servicio se configura en smb.conf; un cliente Linux puede acceder a un recurso compartido usando CIFS y mount.cifs. Para que el acceso funcione, deben coincidir la configuración del recurso, la autenticación de Samba y los permisos del sistema de archivos [1][2].

Instalar los paquetes

En Debian o Ubuntu, instala el servidor Samba en el equipo que publicará la carpeta:

sudo apt install samba

En el cliente Linux que montará el recurso, instala las utilidades CIFS:

sudo apt install cifs-utils

Preparar el directorio y la cuenta

Crea un grupo dedicado y añade únicamente las cuentas que deban acceder. En este ejemplo, smbuser es el nombre ilustrativo de una cuenta que ya existe en el sistema; sustitúyelo por la cuenta que hayas elegido:

sudo groupadd --system smbusers
sudo usermod -aG smbusers smbuser

Crea un directorio dedicado al recurso compartido. Evita publicar rutas amplias como /home o la raíz del sistema:

sudo install -d -o root -g smbusers -m 2770 /srv/samba/shared

Ajusta propietario, grupo y permisos según tu política local; los permisos Unix y las reglas de Samba se aplican conjuntamente [1]. Añade la cuenta a la base de contraseñas de Samba:

sudo smbpasswd -a smbuser

El comando solicita la contraseña de forma interactiva; no la escribas como argumento en la línea de comandos.

Configurar el recurso compartido

Edita /etc/samba/smb.conf y añade una sección como esta:

[shared]
   path = /srv/samba/shared
   browseable = yes
   read only = no
   valid users = @smbusers
   create mask = 0660
   directory mask = 2770

valid users limita quién puede conectarse al recurso. read only = no permite escritura a nivel de Samba, pero la cuenta también necesita permisos Unix sobre la ruta. Las máscaras de creación limitan los permisos que reciben los nuevos archivos y directorios [1].

Valida la configuración antes de aplicarla:

sudo testparm

Si no hay errores, reinicia el servicio para cargar los cambios:

sudo systemctl restart smbd

El nombre del servicio puede variar según la distribución; consulta su documentación si smbd no existe.

Montar el recurso desde un cliente Linux

Crea un punto de montaje local:

sudo mkdir -p /mnt/shared

Para no dejar la contraseña en el historial del shell ni visible en la lista de procesos, guárdala en un fichero de credenciales protegido. Créalo como root con permisos restrictivos y edítalo:

sudo install -m 600 /dev/null /etc/samba/credentials-shared
sudoedit /etc/samba/credentials-shared

Contenido del fichero:

username=<SMB_USER>
password=<SMB_PASSWORD>

Monta el recurso indicando el servidor y el nombre entre corchetes de la sección de smb.conf:

sudo mount -t cifs //servidor/shared /mnt/shared \
  -o credentials=/etc/samba/credentials-shared

mount.cifs admite un fichero de credenciales con campos username y password; proteger sus permisos evita que otros usuarios locales puedan leerlos [2]. Si cliente y servidor no negocian una versión SMB compatible, consulta man mount.cifs y establece vers= solo cuando sepas qué versión admite el servidor.

Comprobar el acceso y desmontar

Comprueba que el recurso aparece montado y que la cuenta puede realizar las operaciones previstas:

findmnt /mnt/shared

Prueba lectura y escritura solo con archivos de prueba. Para desmontar el recurso:

sudo umount /mnt/shared

Si la conexión falla, revisa la resolución del nombre del servidor, el acceso a la red y al firewall, el nombre exacto del recurso, la contraseña Samba, la pertenencia al grupo y los permisos Unix del directorio.

Fuentes consultadas

  1. Documentación oficial de Samba: parámetros de smb.conf
  2. Manual de mount.cifs: montaje y fichero de credenciales

samba

¿Te ha resultado útil?

Compártelo con tu red de contactos profesionales.

Comentarios (0)

Sé el primero en comentar.