Postavljanje Sambe i konfiguriranje FirewallD-a i SELinuxa za dopuštanje dijeljenja datoteka na Linux/Windows klijentima - 6. dio


Budući da računala rijetko rade kao izolirani sustavi, za očekivati je da kao administrator sustava ili inženjer znate kako postaviti i održavati mrežu s više vrsta poslužitelja.

U ovom članku iu sljedećem iz ove serije proći ćemo kroz osnove postavljanja Samba i NFS poslužitelja s Windows/Linux i Linux klijentima.

Ovaj će vam članak svakako dobro doći ako budete pozvani da postavite poslužitelje datoteka u korporativnim ili poslovnim okruženjima gdje ćete vjerojatno pronaći različite operativne sustave i vrste uređaja.

Budući da možete čitati o pozadini i tehničkim aspektima Sambe i NFS-a po cijelom Internetu, u ovom i sljedećem članku ćemo odmah prijeći na temu o kojoj se radi.

Korak 1: Instalacija Samba poslužitelja

Naše trenutno okruženje za testiranje sastoji se od dva RHEL 7 okvira i jednog Windows 8 stroja, ovim redoslijedom:


1. Samba / NFS server [box1 (RHEL 7): 192.168.0.18], 
2. Samba client #1 [box2 (RHEL 7): 192.168.0.20]
3. Samba client #2 [Windows 8 machine: 192.168.0.106]

Na box1 instalirajte sljedeće pakete:


yum update && yum install samba samba-client samba-common

Na box2:


yum update && yum install samba samba-client samba-common cifs-utils

Kada instalacija završi, spremni smo za konfiguriranje našeg dijeljenja.

Korak 2: Postavljanje dijeljenja datoteka putem Sambe

Jedan od razloga zašto je Samba tako relevantna je taj što pruža usluge datoteka i ispisa SMB/CIFS klijentima, što uzrokuje da ti klijenti vide poslužitelj kao da je Windows sustav (moram priznati da sam sklon biti pomalo emotivan dok pišem o ovoj temi jer je to bilo moje prvo postavljanje kao novi administrator Linux sustava prije nekoliko godina).

Dodavanje korisnika sustava i postavljanje dopuštenja i vlasništva

Kako bismo omogućili grupnu suradnju, stvorit ćemo grupu pod nazivom finance s dva korisnika (user1 i user2) s naredbom useradd i direktorijem /finance u box1.

Također ćemo promijeniti grupnog vlasnika ovog direktorija u finance i postaviti njegova dopuštenja na 0770 (dopuštenja za čitanje, pisanje i izvršavanje za vlasnika i vlasnika grupe):


groupadd finance
useradd user1
useradd user2
usermod -a -G finance user1
usermod -a -G finance user2
mkdir /finance
chmod 0770 /finance
chgrp finance /finance

Korak 3: Konfiguriranje SELinuxa i Firewallda

U pripremi za konfiguriranje /finance kao dijeljenja Sambe, trebat ćemo ili onemogućiti SELinux ili postaviti odgovarajuće booleove i vrijednosti sigurnosnog konteksta kako slijedi (inače će SELinux spriječiti klijente da pristupe dijeljenju):


setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export
semanage fcontext –at samba_share_t "/finance(/.*)?"
restorecon /finance

Osim toga, moramo osigurati da vatrozid dopušta Samba promet.


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

Korak 4: Konfigurirajte Samba Share

Sada je vrijeme da zaronimo u konfiguracijsku datoteku /etc/samba/smb.conf i dodamo odjeljak za naš dio: želimo da članovi grupe finance mogu za pregledavanje sadržaja /finance i spremanje / kreirajte datoteke ili poddirektorije u njemu (koji će prema zadanim postavkama imati bitove dopuštenja postavljene na 0770 i finance će biti njihov vlasnik grupe):


[finance]
comment=Directory for collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid users=@finance
write list=@finance
writeable=yes
create mask=0770
Force create mode=0770
force group=finance

Spremite datoteku, a zatim je testirajte pomoću uslužnog programa testparm. Ako postoje bilo kakve pogreške, izlaz sljedeće naredbe pokazat će što trebate popraviti. U suprotnom, prikazat će pregled konfiguracije vašeg Samba poslužitelja:

Ako želite dodati još jedno dijeljenje koje je otvoreno za javnost (što znači bez ikakve provjere autentičnosti), stvorite još jedan odjeljak u /etc/samba/smb.conf i pod imenom novog dijeljenja kopirajte gornji odjeljak , mijenjajući samo public=no u public=yes i ne uključujući važeće korisnike i direktive popisa pisanja.

Korak 5: Dodavanje Samba korisnika

Zatim ćete morati dodati user1 i user2 kao Samba korisnike. Da biste to učinili, upotrijebit ćete naredbu smbpasswd koja je u interakciji s unutarnjom bazom podataka Sambe. Od vas će se tražiti da unesete lozinku koju ćete kasnije koristiti za spajanje na dijeljenje:


smbpasswd -a user1
smbpasswd -a user2

Na kraju ponovno pokrenite Sambu, omogućite servisu da se pokrene pri dizanju i provjerite je li dijeljenje stvarno dostupno mrežnim klijentima:


systemctl start smb
systemctl enable smb
smbclient -L localhost –U user1
smbclient -L localhost –U user2

U ovom trenutku Samba datotečni poslužitelj ispravno je instaliran i konfiguriran. Sada je vrijeme da testirate ovu postavku na našim RHEL 7 i Windows 8 klijentima.

Korak 6: Montiranje Samba Share-a u Linuxu

Prvo provjerite je li dijeljenje Sambe dostupno s ovog klijenta:


smbclient –L 192.168.0.18 -U user2

(ponovite gornju naredbu za korisnika1)

Kao i svaki drugi medij za pohranu, možete montirati (i kasnije isključiti) ovaj mrežni dio kada je potrebno:


mount //192.168.0.18/finance /media/samba -o username=user1

(gdje je /media/samba postojeći direktorij)

ili trajno, dodavanjem sljedećeg unosa u datoteku /etc/fstab:


//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0

Gdje skrivena datoteka /media/samba/.smbcredentials (čije su dozvole i vlasništvo postavljeni na 600 odnosno root:root) sadrži dva retka koja označavaju korisničko ime i lozinku računa kojem je dopušteno korištenje dijeljenja:


username=user1
password=PasswordForUser1

Na kraju, kreirajmo datoteku unutar /finance i provjerimo dopuštenja i vlasništvo:


touch /media/samba/FileCreatedInRHELClient.txt

Kao što vidite, datoteka je stvorena s dopuštenjima 0770 i vlasništvom postavljenim na user1:finance.

Korak 7: Montirajte Samba Share u Windows

Za montiranje Samba dijeljenja u sustavu Windows, idite na My PC i odaberite Computer, zatim Map mrežni pogon. Zatim dodijelite slovo pogonu koji će se mapirati i označite Connect koristeći različite vjerodajnice (snimke zaslona u nastavku su na španjolskom, mom materinjem jeziku):

Na kraju, stvorimo datoteku i provjerimo dopuštenja i vlasništvo:


ls -l /finance

Ovaj put datoteka pripada user2 jer je to račun koji smo koristili za povezivanje s Windows klijenta.

Sažetak

U ovom smo članku objasnili ne samo kako postaviti poslužitelj Samba i dva klijenta koji koriste različite operativne sustave, već i kako konfigurirati vatrozid i SELinux na poslužitelju kako bi se omogućile željene mogućnosti grupne suradnje.

Na kraju, ali ne manje važno, dopustite mi da preporučim čitanje mrežne stranice s uputama za smb.conf kako biste istražili druge konfiguracijske upute koje bi mogle biti prikladnije za vaš slučaj od scenarija opisanog u ovom članku.

Kao i uvijek, slobodno ostavite komentar koristeći donji obrazac ako imate bilo kakvih komentara ili prijedloga.