Com instal·lar Samba4 a CentOS 7 per compartir fitxers a Windows


Al nostre darrer article, vam mostrar com instal·lar Samba4 a Ubuntu per compartir fitxers bàsics entre sistemes Ubuntu i màquines Windows. On vam mirar la configuració de l'ús compartit de fitxers anònim (no segur) i segur.

Aquí, descriurem com instal·lar i configurar Samba4 a CentOS 7 (també funciona a RHEL 7) per compartir fitxers bàsics entre altres sistemes Linux i màquines Windows.

Important: a partir de la versió 4.0, Samba es pot executar com a controlador de domini Samba4 Active Directory, que inclou temes crítics per a Ubuntu, CentOS i Windows.

Instal·leu Samba4 a CentOS 7

1. Primer instal·leu Samba4 i els paquets necessaris des dels dipòsits predeterminats de CentOS mitjançant l'eina de gestor de paquets yum tal com es mostra.

# yum install samba samba-client samba-common

2. Després d'instal·lar els paquets de samba, habiliteu els serveis de samba mitjançant el tallafoc del sistema amb aquestes ordres.

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

Comproveu la configuració del grup de treball de la màquina de Windows

3. Abans de procedir a configurar samba, assegureu-vos que la màquina Windows estigui al mateix grup de treball per configurar-lo al servidor CentOS.

Hi ha dues maneres possibles de veure la configuració del grup de treball de la màquina Windows:

  • Feu clic amb el botó dret a \Aquest PC o a \El meu ordinador → Propietats → Configuració avançada del sistema → Nom de l'ordinador.

  • Com a alternativa, obriu el indicador cmd i executeu l'ordre següent i, a continuació, cerqueu \domini de l'estació de treball a la sortida, tal com es mostra a continuació.

>net config workstation

Configuració de Samba4 a CentOS 7

4. El fitxer de configuració principal de samba és /etc/samba/smb.conf, el fitxer original ve amb paràmetres de configuració prèvia que expliquen diverses directrius de configuració per guiar-vos.

Però, abans de configurar samba, us suggereixo que feu una còpia de seguretat del fitxer predeterminat com aquest.

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

A continuació, procediu a configurar samba per a serveis de compartició de fitxers anònims i segurs, tal com s'explica a continuació.

5. Primer creeu el directori compartit on s'emmagatzemaran els fitxers al servidor i establiu els permisos adequats al directori.

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

A més, heu de canviar el context de seguretat de SELinux per al directori compartit de samba de la manera següent.

# chcon -t samba_share_t /srv/samba/anonymous

6. A continuació, obriu el fitxer de configuració de samba per editar-lo, on podeu modificar/afegir les seccions següents amb les directives corresponents.

# vi /etc/samba/smb.conf
[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. Ara verifiqueu la configuració actual de samba executant l'ordre següent.

# testparm
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. Finalment, inicieu i activeu els serveis de samba perquè s'iniciïn automàticament al proper arrencada i també apliqueu els canvis anteriors perquè tinguin efecte.

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

9. Ara, a la màquina Windows, obriu \Xarxa des d'una finestra de l'Explorador de Windows i, a continuació, feu clic a l'amfitrió CentOS, o bé proveu d'accedir al servidor mitjançant la seva adreça IP (utilitzeu l'ordre ifconfig per obtenir l'adreça IP).

e.g. \2.168.43.168.

10. A continuació, obriu el directori Anònim i proveu d'afegir-hi fitxers per compartir-los amb altres usuaris.

Configura l'ús compartit de fitxers segur de Samba4

11. Primer comenceu creant un grup del sistema samba, després afegiu usuaris al grup i configureu una contrasenya per a cada usuari així.

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

12. A continuació, creeu un directori segur on es guardaran els fitxers compartits i establiu els permisos adequats al directori amb context de seguretat SELinux per a 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ó, obriu el fitxer de configuració per editar-lo i modifiqueu/afegiu la secció següent amb les directives corresponents.

# vi /etc/samba/smb.conf
[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

14. De nou, comproveu la configuració de samba executant l'ordre següent.

$ testparm
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. Reinicieu els serveis de Samba per aplicar els canvis.

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

16. Aneu a la màquina Windows, obriu \Xarxa des d'una finestra de l'Explorador de Windows i, a continuació, feu clic a l'amfitrió CentOS o, en cas contrari, intenteu accedir al servidor mitjançant la seva adreça IP.

e.g. \2.168.43.168.

Se us demanarà que proporcioneu el vostre nom d'usuari i contrasenya per iniciar sessió al servidor CentOS. Un cop hàgiu introduït les credencials, feu clic a D'acord.

17. Un cop hàgiu iniciat la sessió correctament, veureu tots els directoris compartits de samba. Ara compartiu de manera segura alguns fitxers amb altres usuaris permesos de la xarxa deixant-los anar al directori segur.

També podeu consultar aquests articles útils sobre l'ús compartit de fitxers Samba en una xarxa.

  1. Com muntar/desmuntar sistemes de fitxers locals i de xarxa (Samba i NFS) a Linux
  2. Ús d'ACL (llistes de control d'accés) i muntatge de recursos compartits de Samba/NFS
  3. Com solucionar la vulnerabilitat de SambaCry (CVE-2017-7494) als sistemes Linux

En aquesta guia, us vam mostrar com configurar Samba4 per compartir fitxers de manera anònima i segura entre CentOS i altres sistemes Linux, així com màquines Windows. Comparteix qualsevol pensament amb nosaltres a través de la secció de comentaris a continuació.