Samba
100%

Compartir Red · Lección 5

Samba

Aprende a configurar, validar, utilizar y proteger un recurso compartido Samba básico.

Samba implementa el protocolo Server Message Block en sistemas tipo Unix y permite que clientes Linux, Windows, macOS y otros compartan archivos e impresoras. Las implementaciones modernas utilizan dialectos SMB actuales; el término antiguo CIFS aún aparece en las herramientas cliente de Linux, pero no debe interpretarse como una razón para habilitar el obsoleto SMB1.

Planificar el recurso compartido

Antes de instalar o cambiar Samba, define los clientes autorizados, las identidades, las necesidades de lectura y escritura, la zona de red, quien es responsable de los datos, la política de copias de seguridad y el dialecto SMB necesario. Utiliza un directorio dedicado en vez de exponer por accidente un directorio personal o del sistema.

El acceso está controlado tanto por la política de Samba como por los permisos subyacentes del sistema de archivos. Permitir escrituras en smb.conf no puede conceder a una cuenta un acceso al sistema de archivos que no posee.

¿Qué debe permitir que un usuario escriba mediante un recurso Samba?

Definir un recurso compartido básico

La configuración principal suele estar en /etc/samba/smb.conf. Este es un ejemplo restringido:

[team]
    path = /srv/samba/team
    browseable = yes
    read
    valid users = @teamshare

Crea el directorio y aplica una propiedad y unos permisos revisados para el grupo Unix:

$ sudo install -d -o root -g teamshare -m 2770 /srv/samba/team

El bit set-group-ID ayuda a que las entradas nuevas hereden el grupo del directorio, pero el acceso colaborativo también puede requerir una ACL o una máscara de creación elegida con cuidado. Prueba los resultados reales para archivos y directorios en vez de suponer que la herencia es suficiente.

¿Qué expresa valid users = @teamshare?

Configurar la identidad

En una configuración Samba independiente, una cuenta generalmente necesita una identidad Unix correspondiente y una credencial Samba habilitada:

$ sudo smbpasswd -a alice

Las implementaciones con un dominio de directorio utilizan un diseño de identidades diferente. No pongas contraseñas en el historial del shell ni en configuraciones que puedan leer usuarios ajenos, y no supongas que una contraseña Samba coincide automáticamente con la de la cuenta Unix.

¿Qué suele hacer smbpasswd -a alice en un servidor independiente?

Validar y aplicar la configuración

Comprueba la configuración interpretada antes de recargar los servicios:

$ testparm -s

Revisa los valores predeterminados inesperados y los errores; después recarga mediante el gestor de servicios de la distribución el servicio Samba. Los nombres del servicio varían y suelen incluir smbd.service o smb.service. Cuando es posible, una recarga causa menos interrupciones que un reinicio, pero aun así debes verificar el estado, los sockets a la escucha, el alcance del cortafuegos y los registros.

Prueba desde un cliente con un usuario explícito:

$ smbclient //server.example.net/team -U alice

¿Por qué debes ejecutar testparm -s antes de aplicar un cambio de Samba?

Montar desde Linux

Los clientes Linux suelen utilizar el controlador del sistema de archivos cifs y sus herramientas auxiliares de montaje. Evita las contraseñas en la línea de órdenes porque los argumentos pueden filtrarse por el historial o la inspección de procesos. Utiliza un archivo de credenciales legible solo por root o un mecanismo de credenciales aprobado:

$ sudo mount -t cifs //server.example.net/team /mnt/team \
    -o credentials=/root/.smb-team,vers=3.1.1

Protege el archivo de credenciales, confirma el dialecto compatible con ambos extremos y define deliberadamente los requisitos de UID, GID, permisos y cifrado. Después del montaje, verifica con findmnt, realiza pruebas autorizadas de lectura y escritura y desmonta tras coordinar a los usuarios activos.

¿Por qué debes evitar password=... directamente en una orden de montaje?

Lección completada

Has completado Samba

Ahora puedes configurar un recurso Samba teniendo en cuenta la seguridad del protocolo y del sistema de archivos.

  • Define primero los clientes, las identidades, el alcance de red y la política de datos.

  • Restringe el recurso y ajusta los permisos subyacentes.

  • Administra las credenciales Samba con el modelo de identidad correcto.

  • Valida con testparm y realiza una prueba cliente de extremo a extremo.

  • Protege las credenciales cliente y verifica el acceso montado.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Volver a Compartir Red