Kako postaviti Samba server u RHEL, Rocky Linux i AlmaLinux


Dijeljenje datoteka je bitan dio administracije servera. Omogućava dijeljenje resursa preko mreže koji su potrebni korisnicima za obavljanje njihovih zadataka. Jedan od široko korištenih softvera za dijeljenje datoteka je Samba.

Samba, ponovna implementacija popularnog SMB (blok poruka servera) protokola, je stabilna i besplatna aplikacija koja omogućava dijeljenje datoteka i usluge štampanja preko mreže. Softver je instaliran na centralnom Linux serveru sa kojeg se zajedničkim datotekama može pristupiti i sa Linux i Windows sistema.

U ovom vodiču ćemo vas provesti kroz instalaciju Samba servera na RHEL distribucijama kao što su CentOS Stream, Rocky Linux i AlmaLinux.

Korak 1: Instalirajte Sambu na Linux

Da biste započeli sa Sambom, instalirajte osnovne pakete Samba uključujući i klijentski paket:

sudo dnf install samba samba-common samba-client 

Naredba instalira navedene pakete zajedno sa ovisnostima kako je prikazano na izlazu. Nakon što se instalacija završi, dobit ćete sažetak svih instaliranih paketa.

Korak 2: Kreirajte i konfigurirajte Samba Shares

Nakon što su svi samba paketi instalirani, sljedeći korak je konfiguracija samba dijeljenja. Samba dijeljenje je jednostavno direktorij koji će se dijeliti na klijentskim sistemima u mreži.

Ovdje ćemo kreirati samba share pod nazivom /data u putanji direktorija /srv/tecmint/.

sudo mkdir -p /srv/tecmint/data

Zatim ćemo dodijeliti dozvole i vlasništvo na sljedeći način.

sudo chmod -R 755 /srv/tecmint/data
sudo chown -R  nobody:nobody /srv/tecmint/data
sudo chcon -t samba_share_t /srv/tecmint/data

Zatim ćemo napraviti neke konfiguracije u konfiguracijskoj datoteci smb.conf koja je Samba glavna konfiguracijska datoteka. Ali prije nego što to učinimo, napravit ćemo sigurnosnu kopiju datoteke tako što ćemo je preimenovati s drugom ekstenzijom datoteke.

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Zatim ćemo kreirati novu konfiguracionu datoteku.

sudo vim /etc/samba/smb.conf

Definisaćemo pravila o tome ko može da pristupi deljenju samba dodavanjem linija prikazanih u konfiguracionoj datoteci.

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = rocky-8
security = user
map to guest = bad user
dns proxy = no
ntlm auth = true



[Public]
path =  /srv/tecmint/data
browsable =yes
writable = yes
guest ok = yes
read only = no

Sačuvajte i izađite iz konfiguracione datoteke.

Da provjerite napravljene konfiguracije, pokrenite naredbu:

sudo testparm

Zatim pokrenite i omogućite Samba demone kao što je prikazano.

sudo systemctl start smb
sudo systemctl enable smb
sudo systemctl start nmb
sudo systemctl enable nmb

Obavezno potvrdite da su i smb i nmb demoni pokrenuti.

sudo systemctl status smb
sudo systemctl status nmb

Da biste omogućili pristup deljenju samba sa udaljenih Windows sistema, potrebno je da otvorite samba protokol na zaštitnom zidu.

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload
sudo firewall-cmd --list-services

Korak 3: Pristup Samba Share iz Windowsa

Do sada smo instalirali sambu i konfigurisali samba share. Sada smo spremni za pristup na daljinu. Da biste to učinili na Windows klijentu, pritisnite taster + R logotipa Windows da biste pokrenuli dijalog Pokreni.

U ponuđeno tekstualno polje unesite IP adresu samba servera kao što je prikazano:

\\server-ip

Pojavit će se sljedeći prozor s oznakom "Javno". Zapamtite, ovo je direktorij koji ukazuje na naš samba share u /srv/tecmint/data direktoriju.

Trenutno je naš direktorij prazan jer nismo kreirali nijedan fajl. Dakle, vratit ćemo se na naš terminal i kreirati nekoliko datoteka u samba share direktoriju.

cd /srv/tecmint/data
sudo touch file{1..3}.txt

Sada ćemo se kretati do mape „Javno“ u kojoj će biti prikazane datoteke koje smo ranije kreirali.

Savršeno. Uspješno smo uspjeli pristupiti našem samba dijeljenju. Međutim, naš direktorij je dostupan svima i svako može uređivati i brisati datoteke po želji, što se ne preporučuje posebno ako planirate hostirati osjetljive datoteke.

U sljedećem koraku, pokazat ćemo kako možete kreirati i konfigurirati siguran samba dijeljeni direktorij.

Korak 4: Osigurajte Samba Share Directory

Prvo ćemo kreirati novog samba korisnika.

sudo useradd smbuser

Zatim ćemo konfigurirati lozinku za samba korisnika. Ovo je lozinka koja će se koristiti tokom autentifikacije.

sudo smbpasswd -a smbuser

Zatim ćemo kreirati novu grupu za našu bezbednu samba deljenje i dodati novog samba korisnika.

sudo groupadd smb_group
sudo usermod -g smb_group smbuser

Nakon toga, kreirajte još jedan samba share kojem će se bezbedno pristupati. U našem slučaju, kreirali smo drugi direktorij na istoj putanji kao

sudo mkdir -p  /srv/tecmint/private

Zatim konfigurirajte dozvole datoteke za samba share

sudo chmod -R 770 /srv/tecmint/private
sudo chcon -t samba_share_t /srv/tecmint/private
sudo chown -R root:smb_group /srv/tecmint/private

Još jednom, pristupite Samba konfiguracijskoj datoteci.

sudo vim /etc/samba/smb.conf

Dodajte ove linije za definiranje kako biste osigurali samba dijeljenje.

[Private]
path = /srv/tecmint/private
valid users = @smb_group
guest ok = no
writable = no
browsable = yes

Sačuvajte promjene i izađite.

Konačno, ponovo pokrenite sve samba demone kao što je prikazano.

sudo systemctl restart smb
sudo systemctl restart nmb

Kada ovog puta pristupite svom serveru, primijetit ćete dodatni folder „Privatni“. Da biste pristupili fascikli, od vas će se tražiti da se autentifikujete sa akreditivima Samba korisnika. Unesite korisničko ime i lozinku korisnika kojeg ste kreirali u prethodnom koraku i kliknite na ‘OK’.

Korak 5: Pristup Samba Share sa Linux klijenta

Da biste pristupili dijeljenju s Linux klijenta, prvo provjerite je li instaliran Samba klijentski paket.

sudo dnf install samba-client 

Zatim koristite naredbu smbclient na sljedeći način

smbclient ‘\2.168.43.121\private’ -U smbuser

I ovim se završava ovaj vodič za postavljanje Samba na RHEL, CentOS Stream, Rocky Linux i AlmaLinux. Vaše povratne informacije o ovom vodiču bit će vrlo cijenjene.