Instale Samba4 en RHEL 8 para compartir archivos en Windows


Samba es un sistema de archivos de red de código abierto, rápido, seguro, estable y ampliamente utilizado que proporciona servicios de impresión y uso compartido de archivos para todos los clientes que utilizan el protocolo SMB/CIFS, como Linux, todas las versiones de DOS y Windows, OS/2, y tantos otros sistemas operativos.

En nuestro artículo anterior, explicamos cómo instalar Samba4 en CentOS/RHEL 7 para compartir archivos básicos entre sistemas CentOS/RHEL y máquinas Windows. Donde aprendimos cómo configurar Samba para compartir archivos de forma anónima y segura entre máquinas.

En este artículo, describiremos cómo instalar y configurar Samba4 en RHEL 8 para compartir archivos básicos con máquinas Windows.

Instale Samba4 en RHEL 8

1. Para instalar Samba 4 junto con sus dependencias, use el administrador de paquetes DNF como se muestra.

# dnf install samba samba-client samba-common

2. Una vez que se complete la instalación, inicie el servicio Sambe, habilítelo para que se inicie automáticamente en el momento del inicio del sistema y verifique ese servicio usando los comandos systemctl de la siguiente manera.

# systemctl start smb
# systemctl enable smb
# systemctl status smb

3. A continuación, si tiene un firewalld configurado, debe agregar el servicio Samba en la configuración del firewall para permitir el acceso a directorios y archivos compartidos a través del sistema.

$ sudo firewall-cmd --permanent --add-service=samba
$ sudo firewall-cmd --reload

Configurar Samba4 en RHEL 8

4. Para configurar Samba para compartir archivos, necesita crear una copia de seguridad del archivo de configuración de samba predeterminado que viene con ajustes de preconfiguración y varias directivas de configuración.

# cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Ahora, continúe para configurar samba para servicios de intercambio de archivos anónimos y seguros como se explica a continuación.

5. En esta sección, el primer paso es crear el directorio compartido que almacenará archivos en el servidor. Luego defina los permisos apropiados en el directorio como se muestra.

# mkdir -p /srv/samba/anonymous
# chmod -R 0777 /srv/samba/anonymous
# chown -R nobody:nobody /srv/samba/anonymous

6. Luego, usando la utilidad chcon, cambie el contexto de seguridad de SELinux para el directorio compartido de samba creado.

 
# chcon -t samba_share_t /srv/samba/anonymous

7. Ahora abra el archivo de configuración usando su editor de archivos basado en texto favorito para configurar el uso compartido anónimo no seguro de archivos en un directorio compartido.

# vim /etc/samba/smb.conf

Modifique los siguientes parámetros globales y agregue una sección para el recurso compartido anónimo. Tenga en cuenta que puede establecer sus propios valores cuando sea necesario (lea man smb.conf para obtener más información).

[global]
        workgroup = WORKGROUP
        netbios name = rhel
        security = user
...
[Anonymous]
        comment = Anonymous File Server Share
        path = /srv/samba/anonymous
        browsable =yes
        writable = yes
        guest ok = yes
        read only = no
        force user = nobody

Guarde los cambios en el archivo y cierre.

8. Luego ejecute el siguiente comando para verificar si la configuración es correcta.

# testparm 
Load smb config files from /etc/samba/smb.conf 
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) 
Unknown parameter encountered: "netbios" 
Ignoring unknown parameter "netbios" 
Processing section "[homes]" 
Processing section "[printers]" 
Processing section "[print$]" 
Processing section "[Anonymous]" 
Loaded services file OK. 
Server role: ROLE_STANDALONE 

Press enter to see a dump of your service definitions 

# Global parameters 
[global] 
       printcap name = cups 
       security = USER 
       idmap config * : backend = tdb 
       cups options = raw 
[homes] 
       browseable = No 
       comment = Home Directories 
       inherit acls = Yes 
       read only = No 
       valid users = %S %D%w%S 

[printers] 
       browseable = No 
       comment = All Printers 
       create mask = 0600 
       path = /var/tmp 
       printable = Yes                                                                                                                           
                                                                                                                          
[print$]                                                                                                                                
       comment = Printer Drivers                                                                                                                  
       create mask = 0664                                                                                                                         
       directory mask = 0775                                                                                                                      
       force group = @printadmin                                                                                                                  
       path = /var/lib/samba/drivers 
       write list = @printadmin root 


[Anonymous] 
       comment = Anonymous File Server Share 
       force user = nobody 
       guest ok = Yes 
       path = /srv/samba/anonymous 
       read only = No

9. Si la configuración de Samba es correcta, continúe y reinicie el servicio de samba para que los cambios recientes surtan efecto.

# systemctl restart smb

10. Finalmente, pruebe si el recurso compartido anónimo funciona bien, inicie sesión en su máquina con Windows, abra el Explorador de Windows, haga clic en Red, luego haga clic en el host RHEL o use la dirección IP del servidor para acceder (ejecutando el comando ip add en el servidor puede ayudarlo a ver la dirección IP).

e.g. 2.168.43.198

11. A continuación, abra el directorio Anónimo e intente agregar archivos para compartir con otros usuarios.

12. Para crear un directorio compartido de forma segura, necesita crear un grupo de sistema Samba. Todos los usuarios del recurso compartido seguro se agregarán a este grupo. Puede utilizar el comando groupadd para crear el grupo de la siguiente manera.

# groupadd smbgrp

Luego use el comando usermod para agregar todos los usuarios, por ejemplo, tecmint al grupo y establezca una contraseña para cada usuario como se muestra.

# usermod tecmint -aG smbgrp
# smbpasswd -a tecmint

13. A continuación, cree el directorio seguro que almacenará de forma segura los archivos compartidos, luego configure los permisos apropiados en el directorio. Además, cambie el contexto de seguridad de SELinux para el directorio de la siguiente manera.

# mkdir -p /srv/samba/secure
# chmod -R 0770 /srv/samba/secure
# chown -R root:smbgrp /srv/samba/secure
# chcon -t samba_share_t /srv/samba/secure

14. A continuación, abra el archivo de configuración para editarlo.

# vim /etc/samba/smb.conf

Y agregue la siguiente sección al final del archivo.

[Secure]
        comment = Secure File Server Share
        path =  /srv/samba/secure
        valid users = @smbgrp
        guest ok = no
        writable = yes
        browsable = yes

Guarde los cambios y cierre el archivo.

15. Luego, verifique la configuración de samba nuevamente, ejecutando el comando testparm.

# testparm

16. Reinicie los servicios de Samba para aplicar los cambios.

# systemctl restart smb.service
# systemctl restart nmb.service

Prueba del uso compartido seguro de archivos de Samba

17. Por último, pruebe si el recurso compartido seguro funciona correctamente. Desde su máquina Windows, abra el Explorador de Windows, haga clic en Red, luego haga clic en el host RHEL, o intente acceder al servidor usando su dirección IP como se explicó anteriormente.

e.g. 2.168.43.198

Se le pedirá que ingrese su nombre de usuario y contraseña para iniciar sesión en el servidor RHEL 8.

18. Una vez que inicie sesión, obtendrá una lista de todos los directorios compartidos de samba. Ahora puede compartir de forma segura algunos archivos con otros usuarios permitidos en la red agregando archivos en el directorio seguro.

¡Eso es todo! En este artículo, hemos mostrado cómo instalar y configurar Samba 4 en RHEL 8 para compartir archivos de forma anónima y segura con máquinas Windows. Si tiene alguna pregunta o comentario sobre esta guía, utilice el formulario de comentarios a continuación para comunicarse con nosotros.