Cum se instalează Samba4 pe CentOS 7 pentru partajarea fișierelor pe Windows


În ultimul nostru articol, am arătat cum să instalați Samba4 pe Ubuntu pentru partajarea de fișiere de bază între sistemele Ubuntu și mașinile Windows. Unde ne-am uitat la configurarea anonimă (nesigură), precum și a partajării securizate de fișiere.

Aici, vom descrie cum să instalați și să configurați Samba4 pe CentOS 7 (funcționează și pe RHEL 7) pentru partajarea de fișiere de bază între alte sisteme Linux și mașini Windows.

Important: începând cu versiunea 4.0, Samba poate rula ca controler de domeniu (DC) Active Directory (AD). Vă sugerăm să citiți seria noastră specială despre configurarea Samba4 Active Directory Domain Controller, care include subiecte critice pentru Ubuntu, CentOS și Windows.

Instalați Samba4 în CentOS 7

1. Instalați mai întâi Samba4 și pachetele necesare din depozitele implicite CentOS folosind instrumentul de gestionare a pachetelor yum, așa cum se arată.

yum install samba samba-client samba-common

2. După instalarea pachetelor samba, activați ca serviciile samba să fie permise prin firewall de sistem cu aceste comenzi.

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

Verificați setările grupului de lucru pentru mașini Windows

3. Înainte de a continua să configurați samba, asigurați-vă că aparatul Windows se află în același grup de lucru pentru a fi configurat pe serverul CentOS.

Există două moduri posibile de a vizualiza setările grupului de lucru al mașinii Windows:

  • Faceți clic dreapta pe „Acest PC ” sau „Computerul meu ” → ProprietățiSetări avansate de sistem Nume computer.

  • Ca alternativă, deschideți promptul cmd și rulați următoarea comandă, apoi căutați „domeniu stație de lucru ” în rezultat, așa cum se arată mai jos.
>net config workstation

Configurarea Samba4 pe CentOS 7

4. Fișierul principal de configurare samba este /etc/samba/smb.conf, fișierul original vine cu setări de pre-configurare care explică diverse directive de configurare pentru a vă ghida.

Dar, înainte de a configura samba, vă sugerez să faceți o copie de rezervă a fișierului implicit ca acesta.

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

Apoi, continuați să configurați samba pentru serviciile de anonim și de partajare securizată de fișiere, așa cum este explicat mai jos.

Samba4 Partajare anonimă de fișiere

5. Mai întâi creați directorul partajat în care fișierele vor fi stocate pe server și setați permisiunile corespunzătoare pentru director.

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

De asemenea, trebuie să modificați contextul de securitate SELinux pentru directorul partajat samba, după cum urmează.

chcon -t samba_share_t /srv/samba/anonymous

6. Apoi, deschideți fișierul de configurare samba pentru editare, unde puteți modifica/adăuga secțiunile de mai jos cu directivele corespunzătoare.

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. Acum verificați setările actuale de samba executând comanda de mai jos.

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. În cele din urmă, porniți și activați serviciile samba să pornească automat la următoarea pornire și, de asemenea, aplicați modificările de mai sus pentru a intra în vigoare.

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

Testarea partajării anonime de fișiere Samba

9. Acum, pe computerul Windows, deschideți „Rețea ” dintr-o fereastră Windows Explorer, apoi faceți clic pe gazda CentOS sau încercați să accesați serverul folosind adresa sa IP (utilizați comanda ifconfig pentru a obține adresa IP).

e.g. \2.168.43.168.

10. Apoi, deschideți directorul Anonim și încercați să adăugați fișiere acolo pentru a le partaja altor utilizatori.

Configurați Samba4 Secure File Sharing

11. Începeți mai întâi prin a crea un grup de sistem samba, apoi adăugați utilizatori la grup și setați o parolă pentru fiecare utilizator astfel.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Apoi creați un director securizat în care fișierele partajate vor fi păstrate și setați permisiunile corespunzătoare pentru directorul cu context de securitate SELinux pentru 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. Apoi deschideți fișierul de configurare pentru editare și modificați/adăugați secțiunea de mai jos cu directivele corespunzătoare.

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. Din nou, verificați setările de configurare samba executând următoarea comandă.

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. Reporniți serviciile Samba pentru a aplica modificările.

systemctl restart smb.service
systemctl restart nmb.service

Testarea partajării securizate de fișiere Samba

16. Accesați computerul Windows, deschideți „Rețea ” dintr-o fereastră Windows Explorer, apoi faceți clic pe gazda CentOS sau încercați să accesați serverul folosind adresa sa IP.

e.g. \2.168.43.168.

Vi se va cere să furnizați numele de utilizator și parola pentru a vă conecta la serverul CentOS. După ce ați introdus datele de conectare, faceți clic pe OK.

17. După ce vă conectați cu succes, veți vedea toate directoarele partajate de samba. Acum partajați în siguranță unele fișiere cu alți utilizatori autorizați din rețea, plasându-le în directorul Securizat.

De asemenea, puteți consulta aceste articole utile referitoare la partajarea fișierelor Samba într-o rețea.

  1. Cum se montează/demontează sistemele de fișiere locale și de rețea (Samba și NFS) în Linux
  2. Utilizarea ACL-urilor (liste de control al accesului) și montarea partajărilor Samba/NFS
  3. Cum se remediază vulnerabilitatea SambaCry (CVE-2017-7494) în sistemele Linux

În acest ghid, v-am arătat cum să configurați Samba4 pentru partajarea anonimă și sigură de fișiere între CentOS și alte sisteme Linux, precum și mașini Windows. Împărtășește-ne orice gânduri prin secțiunea de comentarii de mai jos.