Los servidores de archivos a menudo necesitan acomodar una variedad de diferentes sistemas de clientes. La ejecución de Samba permite que los sistemas Windows se conecten y accedan a los archivos, así como a otros sistemas Linux y MacOS. Una solución alternativa sería ejecutar un servidor FTP/SFTP, que también puede admitir conexiones desde muchos sistemas.
En esta guía, repasaremos las instrucciones para configurar un servidor Samba en AlmaLinux. Esta es una excelente manera de preparar su servidor de archivos después de instalar AlmaLinux o migrar de CentOS a AlmaLinux. También veremos cómo conectarse al servidor de archivos desde otros equipos cliente de AlmaLinux.
Requisitos de software y convenciones de la línea de comandos de Linux Categoría | Requisitos, convenciones o versión de software utilizada |
Sistema | AlmaLinux |
Software | Samba |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |
Instalar Samba
El primer paso es instalar Samba en AlmaLinux, en caso de que aún no esté en el sistema. Use el siguiente comando para instalar los paquetes Samba necesarios a través del administrador de paquetes dnf.
$ sudo dnf install samba samba-client
Una vez instalados los paquetes, tenemos que iniciar y habilitar el smb
y el nmb
demonios en el arranque. El primero es el demonio que se encarga de realizar las transferencias reales y las operaciones de uso compartido, mientras que el segundo realiza el NetBIOS
Resoluciones de nombres, lo que permite que los recursos aparezcan al navegar por la red en Windows. Ahora podemos habilitar e iniciar ambos servicios systemd con solo un comando:
$ sudo systemctl enable --now {smb,nmb}
Permitir Samba a través del cortafuegos
AlmaLinux viene con firewalld habilitado por defecto, y bloqueará otras conexiones de otras computadoras que intenten acceder a nuestro servicio Samba. Podemos permitir los puertos adecuados a través de firewalld ejecutando los siguientes comandos. Asegúrese de agregar --zone
opción a su comando si es necesario para su configuración.
$ sudo firewall-cmd --permanent --add-service=samba
$ sudo firewall-cmd --reload
Crear un usuario de Samba
Es posible configurar un recurso compartido de Samba que no requiera credenciales de cuenta para conectarse, pero no es práctico en la mayoría de las situaciones debido a la obvia preocupación por la seguridad. En su lugar, es mejor crear cuentas de usuario para las personas que se conectarán al recurso compartido de Samba.
Cada usuario de Samba necesitará una cuenta de usuario normal en el sistema AlmaLinux. Esto no significa que tenga que darles un directorio de inicio, un shell o algo por el estilo, pero seguirán necesitando una cuenta de usuario. Si ya tienen una cuenta de usuario en el sistema, eso será suficiente. De lo contrario, tendremos que crear una cuenta nueva. Use el siguiente comando para crear una nueva cuenta de usuario para nuestro recurso compartido de Samba.
$ sudo adduser -M sambauser -s /sbin/nologin
El -M
la opción pasada al comando es la forma abreviada de --no-create-home
, que es bastante autoexplicativo. Y el -s
La opción nos permite especificar un shell, en este caso uno inválido a propósito:/sbin/nologin
. No es necesario establecer una contraseña para esta cuenta de usuario, solo una contraseña para el servicio Samba.
Cree una contraseña de Samba para el usuario recién creado con el siguiente comando:
$ sudo smbpasswd -a sambauser
New SMB password:
Retype new SMB password:
Added user sambauser.
Configurar Samba para compartir un directorio
Ahora que tenemos Samba ejecutándose y un nuevo usuario creado, configuremos un directorio que deseamos compartir a través de Samba.
Para nuestro ejemplo, crearemos nuestro directorio compartido en /mnt/shared
.
$ sudo mkdir -p /mnt/shared
$ sudo chmod 777 /mnt/shared
Ahora editemos el archivo de configuración de Samba para informarle al servicio sobre este nuevo directorio que nos gustaría compartir. Utilice nano o su editor de texto favorito para abrir el siguiente archivo de configuración.
$ sudo nano /etc/samba/smb.conf
Vaya hasta el final de este archivo y pegue las siguientes líneas.
[linuxconfig]
path = /mnt/shared
guest ok = no
read only = no
Tenga en cuenta que en este ejemplo hemos llamado a nuestro recurso compartido linuxconfig poniéndolo dentro de corchetes. Deberá saber este nombre cuando monte el recurso compartido en un servidor remoto.
Guarde sus cambios en el archivo y salga. Luego, reinicie el servicio Samba para que los nuevos cambios surtan efecto.
$ sudo systemctl restart {smb,nmb}
Permitir Samba a través de SELinux
SELinux está habilitado por defecto en AlmaLinux. Tendremos que asignar el contexto apropiado a nuestro directorio y archivos compartidos usando el siguiente comando. Esto permitirá que Samba funcione manteniendo SELinux en el modo de aplicación recomendado.
$ sudo chcon -R -t samba_share_t /mnt/shared
Conectando al servidor Samba desde el cliente AlmaLinux
Ahora tenemos un servidor Samba completamente funcional, con un usuario Samba dedicado y un directorio compartido. Otros sistemas deberían poder conectarse a este directorio para cargar o descargar archivos del servidor Samba. Esta sección mostrará cómo conectarse al servidor Samba desde otro sistema AlmaLinux (cliente).
En el sistema cliente, necesitamos crear un directorio vacío que podamos usar como punto de montaje para el recurso compartido Samba remoto.
$ sudo mkdir -p /mnt/fileserver
Luego, usa el mount
Comando para montar el recurso compartido Samba remoto en la carpeta que acabamos de crear. Puede usar el nombre de host de la máquina remota o la dirección IP.
$ sudo mount -t cifs -o username=sambauser //192.168.1.10/linuxconfig /mnt/fileserver
Después de ingresar su contraseña, ahora se montará el recurso compartido de Samba.
Alternativamente, puede acceder al recurso compartido de Samba desde el administrador de archivos de GNOME ingresando la siguiente sintaxis. Reemplace la dirección IP según sea necesario.
smb://127.0.0.1/linuxconfig/
Ingrese la ruta al recurso compartido de Samba
Después de iniciar sesión, el recurso compartido de Samba se montará en el lado izquierdo del administrador de archivos de GNOME.
Se ha montado el recurso compartido de Samba Pensamientos finales
En este tutorial, aprendimos cómo instalar Samba en AlmaLinux. También vimos cómo crear un recurso compartido de Samba, un usuario de Samba y configurar el firewall y SELinux para permitir Samba. Luego, repasamos los pasos para conectarnos a nuestro servidor Samba desde una máquina cliente. El uso de esta guía debería permitirle crear un servidor de archivos que pueda albergar conexiones de varios sistemas operativos.