Postavljanje Sambe i konfiguracija FirewallD-a i SELinuxa za omogućavanje dijeljenja datoteka na Linux/Windows klijentima - 6. dio
Pošto računari retko rade kao izolovani sistemi, za očekivati je da kao sistem administrator ili inženjer znate kako da postavite i održavate mrežu sa više tipova servera.
U ovom članku i sljedećem iz ove serije proći ćemo kroz osnove postavljanja Samba i NFS servera sa Windows/Linux i Linux klijentima, respektivno.
Ovaj članak će vam svakako biti od koristi ako ste pozvani da postavite servere datoteka u korporativnim ili poslovnim okruženjima gdje ćete vjerovatno pronaći različite operativne sisteme i tipove uređaja.
S obzirom da o pozadini i tehničkim aspektima Sambe i NFS-a možete čitati na cijelom Internetu, u ovom i sljedećem članku ćemo odmah preći na potragu s ovom temom.
Korak 1: Instaliranje Samba servera
Naše trenutno okruženje za testiranje sastoji se od dvije RHEL 7 kutije i jedne Windows 8 mašine, 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 kutiji 2:
yum update && yum install samba samba-client samba-common cifs-utils
Kada se instalacija završi, spremni smo za konfiguraciju našeg dijeljenja.
Korak 2: Podešavanje dijeljenja datoteka putem Sambe
Jedan od razloga zašto je Samba toliko relevantan je taj što pruža usluge datoteka i štampanja SMB/CIFS klijentima, što uzrokuje da ti klijenti vide server kao da je Windows sistem (moram priznati da sam malo emocionalan dok pišem o ovoj temi, jer je to bilo moje prvo postavljanje kao novog administratora Linux sistema prije nekoliko godina).
Dodavanje korisnika sistema i postavljanje dozvola i vlasništva
Kako bismo omogućili grupnu suradnju, kreirat ćemo grupu pod nazivom finansije sa dva korisnika (user1 i user2) s komandom useradd i direktorijem /finansije u kutiji 1.
Također ćemo promijeniti vlasnika grupe ovog direktorija u finansiranje i postaviti njegove dozvole na 0770 (dozvole 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: Konfiguracija SELinuxa i Firewalld-a
U pripremi za konfiguriranje /finance kao Samba dionice, morat ćemo ili onemogućiti SELinux ili postaviti ispravne boolean i sigurnosne kontekstne vrijednosti kako slijedi (u suprotnom, SELinux će 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 je Samba saobraćaj dozvoljen od strane firewalla.
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
Korak 4: Konfigurirajte Samba Share
Sada je vrijeme da zaronimo u konfiguracijski fajl /etc/samba/smb.conf i dodamo odjeljak za naše dijeljenje: želimo da članovi grupe finansije mogu za pregledavanje sadržaja /finance i spremanje / kreirajte fajlove ili poddirektorije u njemu (koji će po defaultu imati svoje bitove dozvole postavljene na 0770 i finansije će biti vlasnik njihove 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
Sačuvajte datoteku i testirajte je pomoću testparm uslužnog programa. Ako postoje greške, izlaz sljedeće naredbe će ukazati na to što trebate popraviti. U suprotnom, prikazat će pregled konfiguracije vašeg Samba servera:
Ako želite dodati još jedan dio koji je otvoren za javnost (što znači bez ikakve provjere autentičnosti), kreirajte još jedan odjeljak u /etc/samba/smb.conf i pod imenom novog dijeljenja kopirajte gornji odjeljak , samo mijenja public=no u public=yes i ne uključuje važeće direktive korisnika i liste za pisanje.
Korak 5: Dodavanje Samba korisnika
Zatim ćete morati dodati user1 i user2 kao Samba korisnike. Da biste to učinili, koristit ćete naredbu smbpasswd, koja je u interakciji sa Sambinom internom bazom podataka. Od vas će biti zatraženo da unesete lozinku koju ćete kasnije koristiti za povezivanje na dijeljenje:
smbpasswd -a user1
smbpasswd -a user2
Konačno, ponovo pokrenite Samba, omogućite pokretanje usluge pri pokretanju 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 fajl server je pravilno instaliran i konfigurisan. Sada je vrijeme da testiramo ovu postavku na našim klijentima RHEL 7 i Windows 8.
Korak 6: Montirajte Samba Share u Linux
Prvo, uvjerite se da je Samba share dostupan sa ovog klijenta:
smbclient –L 192.168.0.18 -U user2
(ponovi gornju naredbu za korisnika1)
Kao i svaki drugi medij za pohranu, možete montirati (i kasnije isključiti) ovu mrežnu dijeljenu po potrebi:
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 skriveni fajl /media/samba/.smbcredentials (čije su dozvole i vlasništvo postavljeni na 600 i root:root, respektivno) dva reda koja označavaju korisničko ime i lozinku naloga kojem je dozvoljeno korištenje dijeljenja:
username=user1
password=PasswordForUser1
Na kraju, napravimo fajl unutar /finance i provjerimo dozvole i vlasništvo:
touch /media/samba/FileCreatedInRHELClient.txt
Kao što vidite, fajl je kreiran sa 0770 dozvolama i vlasništvom postavljenim na user1:finance.
Korak 7: Montirajte Samba Share u Windows
Da montirate Samba share u Windows, idite na Moj računar i odaberite Računar, a zatim Map mrežni disk. Zatim dodijelite slovo pogonu za mapiranje i označite Connect koristeći različite vjerodajnice (snimke ekrana ispod su na španskom, mom maternjem jeziku):
Na kraju, napravimo fajl i provjerimo dozvole i vlasništvo:
ls -l /finance
Ovaj put datoteka pripada user2 jer je to račun koji smo koristili za povezivanje sa Windows klijenta.
Sažetak
U ovom članku smo objasnili ne samo kako da postavite Samba server i dva klijenta koji koriste različite operativne sisteme, već i kako da konfigurišete firewalld i SELinux na serveru da omogućite željene mogućnosti grupne saradnje.
Na kraju, ali ne i najmanje važno, dozvolite mi da preporučim čitanje online man stranice za smb.conf kako biste istražili druge konfiguracijske direktive koje bi mogle biti prikladnije za vaš slučaj od scenarija opisanog u ovom članku.
Kao i uvijek, slobodno ostavite komentar koristeći formu ispod ako imate bilo kakve komentare ili prijedloge.