Kako namestiti Samba4 na CentOS 7 za skupno rabo datotek v sistemu Windows


V zadnjem članku smo pokazali, kako namestiti Samba4 na Ubuntu za osnovno skupno rabo datotek med sistemi Ubuntu in stroji Windows. Kjer smo pogledali konfiguriranje anonimne (nezaščitene) in varne skupne rabe datotek.

Tu bomo opisali, kako namestiti in konfigurirati Samba4 na CentOS 7 (deluje tudi na RHEL 7) za osnovno izmenjavo datotek med drugimi sistemi Linux in računalniki Windows.

Pomembno: Od različice 4.0 lahko Samba deluje kot krmilnik domene Samba4 Active Directory, ki vključuje kritične teme za Ubuntu, CentOS in Windows.

Namestite Samba4 v CentOS 7

1. Najprej namestite Samba4 in potrebne pakete iz privzetih skladišč CentOS z orodjem yum manager manager, kot je prikazano.

# yum install samba samba-client samba-common

2. Po namestitvi paketov samba s temi ukazi omogočite dovoljenje storitev sambe prek sistemskega požarnega zidu.

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

Preverite nastavitve delovne skupine Windows Machine

3. Preden nadaljujete s konfiguriranjem sambe, se prepričajte, da je naprava Windows v isti delovni skupini, ki jo je treba konfigurirati na strežniku CentOS.

Obstajata dva možna načina za ogled nastavitev delovne skupine računalnika Windows:

  • Z desno miškino tipko kliknite\"Ta računalnik" ali\"Moj računalnik" → Lastnosti → Napredne sistemske nastavitve → Ime računalnika.

  • Druga možnost je, da odprete poziv cmd in zaženete naslednji ukaz, nato v izhodu poiščete\"domeno delovne postaje", kot je prikazano spodaj.

>net config workstation

Konfiguriranje Samba4 na CentOS 7

4. Glavna konfiguracijska datoteka sambe je /etc/samba/smb.conf, prvotna datoteka ima nastavitve predkonfiguracije, ki pojasnjujejo različne konfiguracijske smernice, ki vas vodijo.

Preden pa konfigurirate sambo, predlagam, da vzamete varnostno kopijo privzete datoteke, kot je ta.

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

Nato nadaljujte s konfiguriranjem sambe za anonimne in varne storitve skupne rabe datotek, kot je razloženo spodaj.

5. Najprej ustvarite imenik v skupni rabi, kjer bodo datoteke shranjene na strežniku, in v imeniku nastavite ustrezna dovoljenja.

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

Prav tako morate spremeniti varnostni kontekst SELinux za imenik v skupni rabi samba, kot sledi.

# chcon -t samba_share_t /srv/samba/anonymous

6. Nato odprite konfiguracijsko datoteko sambe za urejanje, kjer lahko spremenite/dodate spodnje odseke z ustreznimi direktivami.

# 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. Zdaj preverite trenutne nastavitve sambe, tako da zaženete spodnji ukaz.

# 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. Nazadnje zaženite in omogočite, da se storitve samba samodejno zaženejo ob naslednjem zagonu, nato pa uporabite zgornje spremembe, da začnejo veljati.

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

9. Zdaj na računalniku z operacijskim sistemom Windows odprite\"Network" v oknu Raziskovalca Windows, nato kliknite na gostitelju CentOS ali pa poskusite dostopati do strežnika z njegovim naslovom IP (uporabite naslov ifconfig, da dobite naslov IP).

e.g. \2.168.43.168.

10. Nato odprite anonimni imenik in poskusite dodati datoteke, ki jih želite deliti z drugimi uporabniki.

Nastavite varno skupno rabo datotek Samba4

11. Najprej začnite z ustvarjanjem sistemske skupine samba, nato dodajte uporabnike v skupino in nastavite geslo za vsakega uporabnika tako.

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

12. Nato ustvarite varen imenik, v katerem bodo shranjene datoteke v skupni rabi, in nastavite ustrezna dovoljenja v imeniku z varnostnim kontekstom SELinux za sambo.

# 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. Nato odprite konfiguracijsko datoteko za urejanje in spremenite/dodajte spodnji odsek z ustreznimi navodili.

# 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. Še enkrat preverite nastavitve konfiguracije sambe z zagonom naslednjega ukaza.

$ 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. Znova zaženite storitve Samba, da uveljavite spremembe.

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

16. Pojdite na računalnik z operacijskim sistemom Windows, odprite\"Network" v oknu raziskovalca Windows, kliknite gostitelja CentOS ali pa poskusite dostopati do strežnika z njegovim naslovom IP.

e.g. \2.168.43.168.

Za prijavo na strežnik CentOS boste morali vnesti svoje uporabniško ime in geslo. Ko vnesete poverilnice, kliknite V redu.

17. Po uspešni prijavi boste videli vse imenike v skupni rabi sambe. Zdaj varno delite nekatere datoteke z drugimi dovoljenimi uporabniki v omrežju, tako da jih spustite v varni imenik.

Ogledate si lahko tudi te koristne članke o skupni rabi datotek Samba v omrežju.

  1. Kako namestiti/odstraniti lokalne in omrežne (Samba & NFS) datotečne sisteme v Linuxu
  2. Uporaba ACL-jev (seznami za nadzor dostopa) in namestitev delnic Samba/NFS
  3. Kako odpraviti ranljivost SambaCry (CVE-2017-7494) v sistemih Linux

V tem priročniku smo vam pokazali, kako nastaviti Samba4 za anonimno in varno izmenjavo datotek med CentOS in drugimi sistemi Linux ter Windows računalniki. Delite svoje misli z nami v spodnjem oddelku za komentarje.