Hvordan installere Samba4 på CentOS 7 for fildeling på Windows


I vår siste artikkel viste vi hvordan du installerer Samba4 på Ubuntu for grunnleggende fildeling mellom Ubuntu-systemer og Windows-maskiner. Der vi så på konfigurering av anonym (usikker) samt sikker fildeling.

Her vil vi beskrive hvordan du installerer og konfigurerer Samba4 på CentOS 7 (fungerer også på RHEL 7) for grunnleggende fildeling mellom andre Linux-systemer og Windows-maskiner.

Viktig: Fra og med versjon 4.0 kan Samba kjøres som en Active Directory (AD) domenekontroller (DC). Vi foreslår at du leser gjennom vår spesielle serie om å sette opp Samba4 Active Directory Domain Controller, som inkluderer viktige emner for Ubuntu, CentOS og Windows.

Installer Samba4 i CentOS 7

1. Installer først Samba4 og nødvendige pakker fra standard CentOS-lagrene ved å bruke yum-pakkebehandlingsverktøyet som vist.

yum install samba samba-client samba-common

2. Etter å ha installert samba-pakkene, aktiver samba-tjenester for å tillates gjennom systembrannmuren med disse kommandoene.

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

Sjekk Windows Machine Workgroup Settings

3. Før du fortsetter å konfigurere samba, sørg for at Windows-maskinen er i den samme arbeidsgruppen som skal konfigureres på CentOS-serveren.

Det er to mulige måter å vise arbeidsgruppeinnstillingene for Windows-maskinen:

  • Høyreklikk på "Denne PCen " eller "Min datamaskin " → EgenskaperAvanserte systeminnstillinger Datamaskinnavn.

  • Alternativt kan du åpne cmd-ledeteksten og kjøre følgende kommando, og se etter “arbeidsstasjonsdomene” i utdataene som vist nedenfor.
>net config workstation

Konfigurere Samba4 på CentOS 7

4. Hovedkonfigurasjonsfilen for samba er /etc/samba/smb.conf, den originale filen kommer med forhåndskonfigurasjonsinnstillinger som forklarer ulike konfigurasjonsdirektiver for å veilede deg.

Men før du konfigurerer samba, foreslår jeg at du tar en sikkerhetskopi av standardfilen som dette.

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

Fortsett deretter til å konfigurere samba for anonyme og sikker fildeling-tjenester som forklart nedenfor.

Samba4 anonym fildeling

5. Opprett først den delte katalogen der filene skal lagres på serveren og angi de riktige tillatelsene på katalogen.

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

Du må også endre SELinux-sikkerhetskonteksten for den delte samba-katalogen som følger.

chcon -t samba_share_t /srv/samba/anonymous

6. Deretter åpner du samba-konfigurasjonsfilen for redigering, der du kan endre/legge til seksjonene nedenfor med de tilsvarende direktivene.

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. Bekreft nå gjeldende samba-innstillinger ved å kjøre kommandoen nedenfor.

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. Til slutt, start og aktiver samba-tjenester for å starte automatisk ved neste oppstart, og bruk også endringene ovenfor for å tre i kraft.

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

Tester anonym samba-fildeling

9. Nå på Windows-maskinen, åpne «Nettverk » fra et Windows Utforsker-vindu, klikk deretter på CentOS-verten, eller prøv å få tilgang til serveren ved å bruke IP-adressen (bruk ifconfig-kommandoen for å få IP-adressen).

e.g. \2.168.43.168.

10. Deretter åpner du Anonym-katalogen og prøver å legge til filer der for å dele med andre brukere.

Konfigurer Samba4 sikker fildeling

11. Begynn først med å opprette en samba-systemgruppe, legg deretter brukere til gruppen og angi et passord for hver bruker på denne måten.

groupadd smbgrp
usermod tecmint -aG smbgrp
smbpasswd -a tecmint

12. Deretter oppretter du en sikker katalog der de delte filene vil bli oppbevart og setter de riktige tillatelsene på katalogen med SELinux sikkerhetskontekst for 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. Åpne deretter konfigurasjonsfilen for redigering og modifiser/legg til delen nedenfor med de tilsvarende direktivene.

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. Igjen, bekreft samba-konfigurasjonsinnstillingene ved å kjøre følgende kommando.

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 Samba-tjenester på nytt for å bruke endringene.

systemctl restart smb.service
systemctl restart nmb.service

Testing av sikker Samba-fildeling

16. Gå til Windows-maskin, åpne "Nettverk " fra et Windows Utforsker-vindu, klikk deretter på CentOS-verten, eller prøv å få tilgang til serveren som bruker sin IP-adresse.

e.g. \2.168.43.168.

Du blir bedt om å oppgi brukernavn og passord for å logge på CentOS-serveren. Når du har angitt legitimasjonen, klikker du OK.

17. Når du har logget på, vil du se alle samba delte kataloger. Del noen filer sikkert med andre tillatte brukere på nettverket ved å slippe dem i Sikker-katalogen.

Du kan også sjekke ut disse nyttige artiklene om Samba-fildeling på et nettverk.

  1. Hvordan montere/avmontere lokale og nettverk (Samba & NFS) filsystemer i Linux
  2. Bruke ACL-er (Access Control Lists) og montering av Samba/NFS-andeler
  3. Slik løser du SambaCry-sårbarheten (CVE-2017-7494) i Linux-systemer

I denne veiledningen viste vi deg hvordan du konfigurerer Samba4 for anonym og sikker fildeling mellom CentOS og andre Linux-systemer samt Windows-maskiner. Del eventuelle tanker med oss via kommentarfeltet nedenfor.