Kako instalirati Samba4 na CentOS 7 za dijeljenje datoteka na Windowsima


U našem posljednjem članku pokazali smo kako instalirati Samba4 na Ubuntu za osnovno dijeljenje datoteka između Ubuntu sustava i Windows računala. Gdje smo gledali konfiguriranje anonimnih (nesigurnih), kao i sigurno dijeljenje datoteka.

Ovdje ćemo opisati kako instalirati i konfigurirati Samba4 na CentOS 7 (također radi na RHEL 7) za osnovno dijeljenje datoteka između ostalih Linux sustava i Windows računala.

Važno: Počevši od verzije 4.0, Samba može raditi kao Samba4 Active Directory Domain Controller, što uključuje kritične teme za Ubuntu, CentOS i Windows.

Instalirajte Samba4 u CentOS 7

1. Prvo instalirajte Samba4 i potrebne pakete iz zadanih spremišta CentOS pomoću alata yum manager upravitelja paketa, kao što je prikazano.

# yum install samba samba-client samba-common

2. Nakon instaliranja samba paketa, ovim naredbama omogućite da usluge sambe budu dopuštene kroz vatrozid sustava.

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

Provjerite postavke radne grupe Windows Machine

3. Prije nego što nastavite s konfiguriranjem sambe, provjerite je li Windows sustav u istoj radnoj grupi koja će se konfigurirati na CentOS poslužitelju.

Postoje dva moguća načina za prikaz postavki radne grupe stroja sa sustavom Windows:

  • Desnim klikom na „Ovo računalo“ ili „Moje računalo“ → Svojstva → Napredne postavke sustava → Naziv računala.

  • Alternativno, otvorite cmd prompt i pokrenite sljedeću naredbu, a zatim potražite "domenu radne stanice" u izlazu kao što je prikazano u nastavku.

>net config workstation

Konfiguriranje Samba4 na CentOS 7

4. Glavna konfiguracijska datoteka sambe je /etc/samba/smb.conf, izvorna datoteka dolazi s postavkama pretkonfiguracije koje objašnjavaju razne smjernice konfiguracije koje vas vode.

Ali, prije konfiguriranja sambe, predlažem vam da napravite sigurnosnu kopiju zadane datoteke poput ove.

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

Zatim nastavite s konfiguriranjem sambe za anonimne i sigurne usluge dijeljenja datoteka kako je objašnjeno u nastavku.

5. Prvo stvorite dijeljeni direktorij u kojem će se datoteke pohraniti na poslužitelj i postavite odgovarajuća dopuštenja za direktorij.

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

Također, na sljedeći način morate promijeniti sigurnosni kontekst SELinux za dijeljeni direktorij samba.

# chcon -t samba_share_t /srv/samba/anonymous

6. Zatim otvorite konfiguracijsku datoteku sambe za uređivanje, gdje možete izmijeniti/dodati odjeljke u nastavku s odgovarajućim smjernicama.

# 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. Sada provjerite trenutne postavke sambe pokretanjem naredbe u nastavku.

# 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. Napokon, pokrenite i omogućite da se samba usluge automatski pokreću pri sljedećem pokretanju, a također primijenite gore navedene promjene da bi stupile na snagu.

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

9. Sada na Windows računalu otvorite “Network” u prozoru Windows Explorera, zatim kliknite CentOS host ili pokušajte pristupiti poslužitelju koristeći njegovu IP adresu (upotrijebite ifconfig naredbu za dobivanje IP adrese).

e.g. \2.168.43.168.

10. Zatim otvorite anonimni direktorij i pokušajte tamo dodati datoteke za dijeljenje s drugim korisnicima.

Postavljanje sigurnog dijeljenja datoteka Samba4

11. Prvo započnite stvaranjem grupe sustava samba, a zatim dodajte korisnike u grupu i postavite lozinku za svakog korisnika na takav način.

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

12. Zatim stvorite sigurni direktorij u kojem će se čuvati zajedničke datoteke i postavite odgovarajuća dopuštenja za direktorij sa SELinux sigurnosnim kontekstom za sambu.

# 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. Zatim otvorite konfiguracijsku datoteku za uređivanje i izmijenite/dodajte odjeljak u nastavku s odgovarajućim smjernicama.

# 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. Opet, provjerite postavke konfiguracije sambe pokretanjem sljedeće naredbe.

$ 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. Ponovo pokrenite usluge Samba da biste primijenili promjene.

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

16. Idite na Windows sustav, otvorite “Network” iz prozora Windows Explorera, zatim kliknite CentOS host ili pokušajte pristupiti poslužitelju koristeći njegovu IP adresu.

e.g. \2.168.43.168.

Od vas će se tražiti da navedete svoje korisničko ime i lozinku za prijavu na CentOS poslužitelj. Nakon što unesete vjerodajnice, kliknite U redu.

17. Nakon što se uspješno prijavite, vidjet ćete sve imenike za dijeljenje sambe. Sada sigurno dijelite neke datoteke s drugim dopuštenim korisnicima na mreži ispuštanjem u sigurni direktorij.

Također možete pogledati ove korisne članke o dijeljenju datoteka Samba na mreži.

  1. Kako montirati/demontirati lokalne i mrežne (Samba i NFS) datotečne sustave u Linuxu
  2. Korištenje ACL-ova (popisa za kontrolu pristupa) i montiranje Samba/NFS dionica
  3. Kako ispraviti ranjivost SambaCry (CVE-2017-7494) u Linux sustavima

U ovom smo vodiču pokazali kako postaviti Samba4 za anonimno i sigurno dijeljenje datoteka između CentOS-a i drugih Linux sustava, kao i Windows računala. Podijelite s nama bilo kakve misli putem odjeljka za komentare u nastavku.