Zoeken op website

Hoe Samba4 op CentOS 7 te installeren voor het delen van bestanden op Windows


In ons laatste artikel hebben we laten zien hoe je Samba4 op Ubuntu installeert voor het eenvoudig delen van bestanden tussen Ubuntu-systemen en Windows-machines. Waar we hebben gekeken naar het configureren van zowel anoniem (onbeveiligd) als veilig bestanden delen.

Hier beschrijven we hoe u Samba4 installeert en configureert op CentOS 7 (werkt ook op RHEL 7) voor het eenvoudig delen van bestanden tussen andere Linux-systemen en Windows-machines.

Belangrijk: vanaf versie 4.0 kan Samba draaien als een Active Directory (AD) domeincontroller (DC). We raden u aan onze speciale serie over het instellen van Samba4 Active Directory Domain Controller door te lezen, waarin essentiële onderwerpen voor Ubuntu, CentOS en Windows worden opgenomen.

Installeer Samba4 in CentOS 7

1. Installeer eerst Samba4 en de vereiste pakketten uit de standaard CentOS-repository's met behulp van de yum-pakketbeheertool, zoals weergegeven.

yum install samba samba-client samba-common

2. Nadat u de samba-pakketten hebt geïnstalleerd, schakelt u met deze opdrachten in dat samba-services door de systeemfirewall worden toegelaten.

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

Controleer de Windows Machine Workgroup-instellingen

3. Voordat u doorgaat met het configureren van samba, moet u ervoor zorgen dat de Windows-machine zich in dezelfde werkgroep bevindt die op de CentOS-server moet worden geconfigureerd.

Er zijn twee mogelijke manieren om de werkgroepinstellingen van de Windows-machine te bekijken:

  • Klik met de rechtermuisknop op “Deze pc” of “Deze computer” → EigenschappenGeavanceerde systeeminstellingen Computernaam.

  • U kunt ook de cmd-prompt openen en de volgende opdracht uitvoeren. Zoek vervolgens naar “werkstationdomein ” in de uitvoer, zoals hieronder weergegeven.
>net config workstation

Samba4 configureren op CentOS 7

4. Het belangrijkste samba-configuratiebestand is /etc/samba/smb.conf, het originele bestand wordt geleverd met pre-configuratie-instellingen die verschillende configuratie-instructies uitleggen om u te begeleiden.

Maar voordat u samba configureert, raad ik u aan om op deze manier een back-up van het standaardbestand te maken.

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

Ga vervolgens verder met het configureren van samba voor anonieme en veilige bestandsdeling services, zoals hieronder uitgelegd.

Samba4 anoniem bestanden delen

5. Maak eerst de gedeelde map waar de bestanden op de server worden opgeslagen en stel de juiste rechten voor de map in.

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

Ook moet je de SELinux-beveiligingscontext voor de gedeelde samba-map als volgt veranderen.

chcon -t samba_share_t /srv/samba/anonymous

6. Open vervolgens het samba-configuratiebestand om te bewerken, waar u de onderstaande secties kunt wijzigen/toevoegen met de bijbehorende richtlijnen.

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. Controleer nu de huidige samba-instellingen door de onderstaande opdracht uit te voeren.

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. Start ten slotte de samba-services en zorg ervoor dat deze automatisch start bij de volgende keer opstarten en pas ook de bovenstaande wijzigingen toe om van kracht te worden.

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

Anonieme Samba-bestandsdeling testen

9. Open nu op de Windows-computer “Netwerk” vanuit een Windows Verkenner-venster en klik vervolgens op de CentOS-host, of probeer anders toegang krijgen tot de server met behulp van het IP-adres (gebruik de ifconfig-opdracht om het IP-adres te verkrijgen).

e.g. \2.168.43.168.

10. Open vervolgens de map Anoniem en probeer daar bestanden toe te voegen om met andere gebruikers te delen.

Stel Samba4 Veilige bestandsdeling in

11. Begin eerst met het maken van een samba-systeemgroep, voeg vervolgens gebruikers toe aan de groep en stel op deze manier een wachtwoord in voor elke gebruiker.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Creëer vervolgens een veilige map waar de gedeelde bestanden bewaard zullen worden en stel de juiste permissies in voor de map met SELinux beveiligingscontext voor de 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. Open vervolgens het configuratiebestand om het onderstaande gedeelte met de bijbehorende richtlijnen te wijzigen/toe te voegen.

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. Controleer nogmaals de samba-configuratie-instellingen door de volgende opdracht uit te voeren.

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. Start de Samba-services opnieuw om de wijzigingen toe te passen.

systemctl restart smb.service
systemctl restart nmb.service

Veilige Samba-bestandsdeling testen

16. Ga naar de Windows-computer, open “Netwerk ” vanuit een Windows Verkenner-venster en klik vervolgens op de CentOS-host, of probeer anders toegang te krijgen de server met behulp van zijn IP-adres.

e.g. \2.168.43.168.

U wordt gevraagd uw gebruikersnaam en wachtwoord op te geven om in te loggen op de CentOS-server. Nadat u de inloggegevens heeft ingevoerd, klikt u op OK.

17. Zodra u succesvol bent ingelogd, ziet u alle gedeelde samba-mappen. Deel nu veilig enkele bestanden met andere toegestane gebruikers op het netwerk door ze in de map Secure te plaatsen.

U kunt ook deze nuttige artikelen lezen over het delen van Samba-bestanden op een netwerk.

  1. Hoe lokale en netwerkbestandssystemen (Samba en NFS) in Linux te koppelen/ontkoppelen
  2. Gebruik van ACL's (toegangscontrolelijsten) en het koppelen van Samba/NFS-shares
  3. Hoe u een SambaCry-kwetsbaarheid (CVE-2017-7494) in Linux-systemen kunt oplossen

In deze handleiding hebben we u laten zien hoe u Samba4 instelt voor het anoniem en veilig delen van bestanden tussen CentOS en andere Linux-systemen, evenals Windows-machines. Deel uw gedachten met ons via het commentaargedeelte hieronder.