Cómo instalar Samba4 en CentOS 7 para compartir archivos en Windows


En nuestro último artículo, mostramos cómo instalar Samba4 en Ubuntu para compartir archivos básicos entre sistemas Ubuntu y máquinas Windows. Donde vimos la configuración de anónimos (no seguros) así como el intercambio seguro de archivos.

Aquí, describiremos cómo instalar y configurar Samba4 en CentOS 7 (también funciona en RHEL 7 ) para compartir archivos básicos entre otros sistemas Linux y máquinas Windows.

rojo

Instalar Samba4 en CentOS 7

1. Primero instale Samba4 y los paquetes requeridos de los repositorios predeterminados de CentOS usando la herramienta de administrador de paquetes yum como se muestra.

# yum install samba samba-client samba-common

2. Después de instalar los paquetes de samba, habilite los servicios de samba a través del firewall del sistema con estos comandos.

# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload

Compruebe la configuración del grupo de trabajo de la máquina de Windows

3. Antes de continuar con la configuración de samba, asegúrese de que la máquina con Windows esté en el mismo grupo de trabajo que se configurará en el servidor CentOS.

Hay dos formas posibles de ver la configuración del grupo de trabajo de la máquina de Windows:

  • Right clicking on “This PC” or “My Computer” → PropertiesAdvanced system settingsComputer Name.
  • Alternatively, open the cmd prompt and run the following command, then look for “workstation domain” in the output as shown below.
>net config workstation

Configurando Samba4 en CentOS 7

4. El archivo de configuración principal de samba es /etc/samba/smb.conf , el archivo original incluye configuraciones de configuración previa que explican varias directivas de configuración para guiarlo.

Pero, antes de configurar samba, le sugiero que haga una copia de seguridad del archivo predeterminado como este.

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

Luego, proceda a configurar samba para los servicios anónimos y compartir archivos de forma segura como se explica a continuación.

5. Primero cree el directorio compartido donde se almacenarán los archivos en el servidor y establezca los permisos apropiados en el directorio.

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

Además, debe cambiar el contexto de seguridad de SELinux para el directorio compartido de samba de la siguiente manera.

# chcon -t samba_share_t /srv/samba/anonymous

6. A continuación, abra el archivo de configuración de samba para editarlo, donde puede modificar/agregar las secciones siguientes con las directivas correspondientes.

# vi /etc/samba/smb.conf

Configuración de configuración de Samba

[global]
	workgroup = WORKGROUP
	netbios name = centos
	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

7. Ahora verifique la configuración actual de samba ejecutando el siguiente comando.

# testparm

Verificar los ajustes de configuración actuales de Samba

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
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]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No

8. Finalmente, inicie y habilite los servicios de samba para que se inicien automáticamente en el próximo arranque y también aplique los cambios anteriores para que entren en vigor.

# systemctl enable smb.service
# systemctl enable nmb.service
# systemctl start smb.service
# systemctl start nmb.service

9. Ahora, en la máquina con Windows, abra “ Red ” desde una ventana del Explorador de Windows, luego haga clic en el host CentOS o intente acceda al servidor utilizando su dirección IP (use el comando ifconfig para obtener la dirección IP).

e.g. \192.168.43.168.

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

Configurar Samba4 Secure File Sharing

11. Primero comienza creando un grupo de sistema samba, luego agrega usuarios al grupo y configura una contraseña para cada usuario así.

# groupadd smbgrp
# usermod tecmint -aG smbgrp
# smbpasswd -a tecmint

12. Luego cree un directorio seguro donde se guardarán los archivos compartidos y establezca los permisos adecuados en el directorio con el contexto de seguridad de SELinux para la samba.

# 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

13. A continuación, abra el archivo de configuración para editarlo y modifique/agregue la siguiente sección con las directivas correspondientes.

# vi /etc/samba/smb.conf

Configuración de configuración segura de Samba

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

14. De nuevo, verifique los ajustes de configuración de samba ejecutando el siguiente comando.

$ testparm

Verificar ajustes de configuración seguros

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
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]
	netbios name = centos
	printcap name = cups
	security = USER
	idmap config * : backend = tdb
	cups options = raw
[homes]
	comment = Home Directories
	browseable = No
	inherit acls = Yes
	read only = No
	valid users = %S %D%w%S
[printers]
	comment = All Printers
	path = /var/tmp
	browseable = No
	printable = Yes
	create mask = 0600
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	create mask = 0664
	directory mask = 0775
	write list = root
[Anonymous]
 	comment = Anonymous File Server Share
	path = /srv/samba/anonymous
	force user = nobody
	guest ok = Yes
	read only = No
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure
	read only = No
	valid users = @smbgrp

15. Reinicia los servicios de Samba para aplicar los cambios.

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

16. Vaya a la máquina de Windows, abra “ Red ” desde una ventana del Explorador de Windows, luego haga clic en el host CentOS o intente acceder El servidor utiliza su dirección IP.

e.g. \192.168.43.168.

Se le pedirá que proporcione su nombre de usuario y contraseña para iniciar sesión en el servidor CentOS. Una vez que haya ingresado las credenciales, haga clic en Aceptar .

17. Una vez que inicies sesión correctamente, verás todos los directorios compartidos de samba. Ahora comparta de forma segura algunos archivos con otros usuarios permitidos en la red colocándolos en el directorio Seguro .

También puede consultar estos artículos útiles sobre el intercambio de archivos Samba en una red.

  1. How to Mount/Unmount Local and Network (Samba & NFS) Filesystems in Linux
  2. Using ACLs (Access Control Lists) and Mounting Samba / NFS Shares
  3. How to Fix SambaCry Vulnerability (CVE-2017-7494) in Linux Systems

En esta guía, le mostramos cómo configurar Samba4 para compartir archivos de forma anónima y segura entre CentOS y otros sistemas Linux, así como máquinas Windows. Comparte cualquier comentario con nosotros a través de la sección de comentarios a continuación.