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.