Servidores de Archivos en Red Local: Samba (SMB/CIFS) y NFS
En entornos de red local (LAN) corporativos o domésticos, los servidores Linux desempeñan con frecuencia el rol de servidores de almacenamiento centralizado, permitiendo a múltiples clientes (Windows, Linux, macOS) acceder a carpetas compartidas con permisos granulares.
Para lograr esto existen dos protocolos líderes: Samba (SMB/CIFS) para entornos heterogéneos con Windows, y NFS (Network File System) para comunicaciones nativas entre servidores Linux de alto rendimiento.
1. Servidor Samba (SMB/CIFS) para Clientes Windows y Linux #
Samba implementa el protocolo SMB/CIFS de Microsoft en sistemas Linux, permitiendo compartir carpetas e impresoras de forma totalmente transparente para clientes Windows.
Instalación de Samba en Ubuntu / Debian / Mint: #
1sudo apt update 2sudo apt install samba smbclient
Configuración de un recurso compartido en /etc/samba/smb.conf: #
Añadimos al final del archivo de configuración:
1[documentos] 2 comment = Carpeta Compartida de la Empresa 3 path = /srv/samba/documentos 4 browseable = yes 5 read only = no 6 valid users = @grupousuarios 7 create mask = 0660 8 directory mask = 0770
Creación del directorio y usuario de Samba: #
Los usuarios de Samba deben existir en el sistema Linux pero tienen su propia contraseña cifrada de Samba:
1# Crear carpeta y asignar permisos 2sudo mkdir -p /srv/samba/documentos 3sudo chown -R root:grupousuarios /srv/samba/documentos 4sudo chmod -R 770 /srv/samba/documentos 5 6 # Crear usuario Samba 7sudo smbpasswd -a juan 8 9 # Reiniciar el demonio de Samba 10sudo systemctl restart smbd
Acceso desde clientes: #
- Desde Windows: Presionar
Win + Ry escribir\\IP_DEL_SERVIDOR\documentos. - Desde Linux:
smbclient //IP_DEL_SERVIDOR/documentos -U juan.
2. Servidor NFS (Network File System) entre Servidores Linux #
NFS es el estándar UNIX para montar directorios remotos a nivel de sistema de archivos con una sobrecarga de CPU mínima y máxima velocidad de transferencia.
Instalación del Servidor NFS: #
1sudo apt install nfs-kernel-server
Definición de exportaciones en /etc/exports: #
1/srv/nfs/datos 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
rw: Permisos de lectura y escritura.sync: Confirma las escrituras en disco antes de responder (mayor integridad).no_root_squash: Permite al usuario root del cliente actuar como root en el recurso.
Aplicar cambios y reiniciar servicio: #
1sudo mkdir -p /srv/nfs/datos 2sudo exportfs -rav 3sudo systemctl restart nfs-kernel-server
Montaje en el Servidor Cliente Linux: #
1# En la máquina cliente 2sudo apt install nfs-common 3sudo mkdir -p /mnt/servidor_datos 4sudo mount -t nfs 192.168.1.50:/srv/nfs/datos /mnt/servidor_datos
Resumen del tema
Conceptos clave #
- Samba (SMB/CIFS): compatibilidad nativa con sistemas Windows y macOS mediante
/etc/samba/smb.confy contraseñas gestionadas consmbpasswd. - NFS (Network File System): compartición nativa de directorios entre máquinas Linux a través de
/etc/exportsy comandomount -t nfs. - Seguridad y Permisos: control riguroso de permisos UNIX (directorios, grupos de usuarios) complementado con las directivas del protocolo.
Qué debes recordar #
Utiliza Samba cuando necesites compatibilidad universal con clientes Windows y NFS para almacenamiento de alto rendimiento entre servidores Linux.