Cómo instalar y configurar Samba en el sistema operativo Linux
Introducción
Samba es un paquete de software de código abierto que permite compartir archivos e impresiones entre servidores Linux/Unix y clientes Windows. Implementa el protocolo SMB/CIFS, lo que lo convierte en una solución ideal para crear un entorno de compartición de archivos en red multiplataforma. En esta guía, recorreremos la instalación y configuración de Samba en un servidor Linux, cubriendo los pasos básicos de configuración, cómo crear un directorio compartido y cómo configurar el acceso de los usuarios.
Requisitos previos
Antes de comenzar, asegúrese de tener:
- Un sistema Linux (como Ubuntu, Debian, CentOS o Fedora).
- Privilegios de root o sudo para instalar y configurar Samba.
- Conocimientos básicos de operaciones de línea de comandos.
Paso 1: Instalación de Samba
Samba puede instalarse fácilmente utilizando el gestor de paquetes de su distribución de Linux. A continuación se muestran los comandos de instalación para varias distribuciones:
- Debian/Ubuntu:
sudo apt-get update
sudo apt-get install samba
- CentOS/RHEL:
sudo yum install samba samba-client
- Fedora:
sudo dnf install samba samba-client
Paso 2: Configurar Samba
El archivo principal de configuración de Samba se encuentra en /etc/samba/smb.conf. Este archivo controla cómo se definen los recursos compartidos y cómo pueden acceder a ellos los clientes. Antes de realizar cambios, es una buena idea hacer una copia de seguridad del archivo de configuración original:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
Ahora puede editar el archivo smb.conf utilizando su editor de texto preferido, como nano o vim:
sudo nano /etc/samba/smb.conf
Paso 3: Creación de un directorio compartido
Antes de configurar un recurso compartido, cree un directorio que desee compartir con los usuarios de la red. Para este ejemplo, crearemos un directorio llamado sambashare en el directorio /srv:
sudo mkdir -p /srv/sambashare
Establece los permisos apropiados para la carpeta compartida:
sudo chmod 2775 /srv/sambashare
sudo chown nobody:nogroup /srv/sambashare
Esta configuración permite el acceso al directorio a los usuarios del grupo nobody.
Paso 4: Definir un recurso compartido Samba
Para crear un nuevo recurso compartido en el archivo smb.conf, agregue la siguiente sección al final del archivo:
[sambashare]
ruta = /srv/sambashare
navegable = sí
escritura = sí
invitado ok = sí
sólo lectura = no
Esto es lo que significan estos parámetros:
- ruta: Especifica el directorio que se va a compartir.
- navegable: Permite que el recurso compartido sea visible al navegar por la red.
- con permisos de escritura: Permite a los usuarios escribir en el directorio compartido.
- invitado ok: Permite a los usuarios invitados acceder al recurso compartido sin necesidad de contraseña.
- sólo lectura: Si se establece en no, los usuarios pueden modificar los archivos del recurso compartido.
Guarde y cierre el archivo después de realizar estos cambios.
Paso 5: Reiniciar el servicio Samba
Después de editar el archivo de configuración, reinicie el servicio Samba para aplicar los cambios:
- Debian/Ubuntu:
sudo systemctl restart smbd
sudo systemctl enable smbd
- CentOS/RHEL/Fedora:
sudo systemctl restart smb
sudo systemctl enable smb
sudo systemctl restart nmb
sudo systemctl enable nmb
El comando systemctl enable asegura que Samba se iniciará automáticamente al arrancar.
Paso 6: Configurar un usuario Samba
Si desea restringir el acceso al recurso compartido Samba a usuarios específicos, puede crear un usuario Samba. Primero, asegúrese de que el usuario existe en el sistema Linux:
sudo adduser sambauser
A continuación, cree una contraseña Samba para el usuario:
sudo smbpasswd -a sambauser
Samba le pedirá que introduzca y confirme una contraseña para
sambauser
Paso 7: Ajustar el recurso compartido para la autenticación de usuarios
Si desea limitar el acceso al directorio sambashare sólo a usuarios autenticados, modifique la definición del recurso compartido en /etc/samba/smb.conf:
[sambashare]
ruta = /srv/sambashare
navegable = sí
escritura = sí
invitado ok = no
sólo lectura = no
usuarios válidos = sambauser
Sustituya sambauser por el nombre del usuario que ha creado. Esta configuración requerirá que el usuario especificado inicie sesión con sus credenciales de Samba para acceder al recurso compartido.
Paso 8: Configuración de una regla de firewall para Samba
Si hay un cortafuegos habilitado en su servidor, debe permitir el tráfico de Samba a través del cortafuegos. Utilice los siguientes comandos dependiendo de su distribución:
- Debian/Ubuntu con UFW:
sudo ufw allow 'Samba'
- CentOS/RHEL con firewalld:
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
Paso 9: Probar la configuración de Samba
Antes de acceder al recurso compartido, es una buena idea probar la configuración de Samba en busca de errores de sintaxis:
testparm
Este comando comprobará si hay errores en el archivo smb.conf. Si no hay ningún problema, debería ver un mensaje indicando que la prueba se ha realizado correctamente.
Paso 10. Acceder al recurso compartido Samba desde Windows Acceso al recurso compartido Samba desde Windows
Ahora que su servidor Samba está configurado y funcionando, puede acceder al recurso compartido desde una máquina Windows:
- Abra el Explorador de archivos en un PC con Windows.
- Introduzca la dirección IP del servidor Samba en la barra de direcciones utilizando el siguiente formato:
\\Dirección IP de SambaShare
Sustituya dirección IP por la dirección IP de su servidor Linux.
- Si se le solicita, introduzca el nombre de usuario y la contraseña de Samba que creó anteriormente.
Ahora debería tener acceso al directorio compartido desde su sistema Windows.
Paso 11: Acceso al recurso compartido Samba desde Linux
Para acceder al recurso compartido Samba desde otra máquina Linux, utilice la utilidad smbclient:
smbclient //dirección-IP/sambashare -U sambauser
Sustituya dirección IP por la dirección IP del servidor Samba y sambauser por el nombre de usuario Samba.
También puede montar el recurso compartido Samba directamente utilizando el comando mount:
sudo mount -t cifs //dirección-IP/sambashare /mnt/sambashare -o nombre-de-usuario=sambauser
Asegúrese de sustituir /mnt/sambashare por el punto de montaje que desee.
Conclusión
Configurar Samba en un servidor Linux permite compartir archivos sin problemas entre sistemas Linux y Windows. Siguiendo esta guía, puede instalar, configurar y administrar recursos compartidos Samba con facilidad. Tanto si estás configurando un simple servidor de archivos doméstico como un sistema de compartición de archivos en red más complejo, la flexibilidad y compatibilidad de Samba lo convierten en una gran elección. Recuerde configurar correctamente el acceso de los usuarios y ajustar la configuración del cortafuegos para garantizar un acceso seguro a sus recursos compartidos.