Hvordan sette opp Samba Server i RHEL, Rocky Linux og AlmaLinux


Deling av filer er en viktig del av serveradministrasjonen. Den tillater deling av ressurser på tvers av nettverket som er nødvendig av brukere for å utføre oppgavene sine. En av de mye brukte fildelingsprogramvarene er Samba.

Samba, en re-implementering av den populære SMB (server message block) protokollen, er en stabil og gratis applikasjon som tillater deling av filer og utskriftstjenester over et nettverk. Programvaren er installert på en sentral Linux-server hvorfra delte filer kan nås fra både Linux- og Windows-systemer.

I denne veiledningen vil vi lede deg gjennom installasjonen av Samba Server på RHEL-baserte distribusjoner som CentOS Stream, Rocky Linux og AlmaLinux.

Trinn 1: Installer Samba på Linux

For å komme i gang med Samba, installer Samba-kjernepakkene inkludert klientpakken:

sudo dnf install samba samba-common samba-client 

Kommandoen installerer pakkene som er spesifisert sammen med avhengighetene som vises på utdataene. Etter at installasjonen er fullført, vil du få et sammendrag av alle pakkene som er installert.

Trinn 2: Opprett og konfigurer Samba-andeler

Når alle samba-pakkene er installert, er neste trinn å konfigurere samba-delingene. En samba-andel er ganske enkelt en katalog som skal deles på tvers av klientsystemer i nettverket.

Her skal vi lage en samba-andel kalt /data i /srv/tecmint/ katalogbanen.

sudo mkdir -p /srv/tecmint/data

Deretter vil vi tildele tillatelser og eierskap som følger.

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

Deretter skal vi gjøre noen konfigurasjoner i smb.conf konfigurasjonsfilen som er Sambas hovedkonfigurasjonsfil. Men før vi gjør det, vil vi sikkerhetskopiere filen ved å gi den et nytt navn med en annen filtype.

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

Deretter skal vi lage en ny konfigurasjonsfil.

sudo vim /etc/samba/smb.conf

Vi vil definere retningslinjer for hvem som kan få tilgang til samba-andelen ved å legge til linjene som vises i konfigurasjonsfilen.

[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

Lagre og avslutt konfigurasjonsfilen.

For å bekrefte konfigurasjonene som er gjort, kjør kommandoen:

sudo testparm

Deretter starter og aktiverer du Samba-demoner som vist.

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

Sørg for å bekrefte at både smb- og nmb-demonene kjører.

sudo systemctl status smb
sudo systemctl status nmb

For å aktivere tilgang til samba-deling fra eksterne Windows-systemer, må du åpne samba-protokollen på brannmuren.

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

Trinn 3: Få tilgang til Samba Share fra Windows

Så langt har vi installert samba og konfigurert vår samba-andel. Vi er nå klare til å få tilgang til den eksternt. For å gjøre dette på en Windows-klient, trykk på Windows-logoen -tasten + R for å starte Kjør-dialogen.

I det angitte tekstfeltet, skriv inn samba-serverens IP-adresse som vist:

\\server-ip

Følgende vindu merket «Offentlig» vil dukke opp. Husk at dette er katalogen som peker til vår samba-andel i /srv/tecmint/data-katalogen.

For øyeblikket er katalogen vår tom da vi ikke har opprettet noen filer. Så vi går tilbake til terminalen vår og lager noen få filer i samba-delingsmappen.

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

Nå vil vi navigere til «Offentlig»-mappen der filene vi opprettet tidligere vil bli vist.

Perfekt. Vi har klart å få tilgang til vår samba-andel. Imidlertid er katalogen vår tilgjengelig for alle og alle kan redigere og slette filer etter eget ønske, noe som ikke anbefales spesielt hvis du planlegger å være vert for sensitive filer.

I neste trinn vil vi demonstrere hvordan du kan opprette og konfigurere en sikker samba-delingskatalog.

Trinn 4: Sikker Samba Share Directory

Først vil vi opprette en ny samba-bruker.

sudo useradd smbuser

Deretter vil vi konfigurere et passord for samba-brukeren. Dette er passordet som skal brukes under autentisering.

sudo smbpasswd -a smbuser

Deretter vil vi opprette en ny gruppe for vår sikre samba-andel og legge til den nye samba-brukeren.

sudo groupadd smb_group
sudo usermod -g smb_group smbuser

Deretter oppretter du nok en samba-andel som du får sikker tilgang til. I vårt tilfelle har vi opprettet en annen katalog i samme bane som

sudo mkdir -p  /srv/tecmint/private

Konfigurer deretter filtillatelsene for samba-delingen

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

Igjen, få tilgang til Samba-konfigurasjonsfilen.

sudo vim /etc/samba/smb.conf

Legg til disse linjene for å definere for å sikre samba-deling.

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

Lagre endringene og avslutt.

Til slutt, start alle samba-demonene på nytt som vist.

sudo systemctl restart smb
sudo systemctl restart nmb

Når du får tilgang til serveren din denne gangen, vil du legge merke til en ekstra «Privat»-mappe. For å få tilgang til mappen må du autentisere deg med Samba-brukerens legitimasjon. Oppgi brukernavnet og passordet til brukeren du opprettet i forrige trinn, og klikk «OK».

Trinn 5: Få tilgang til Samba Share fra Linux Client

For å få tilgang til delingen fra en Linux-klient, sørg først for at Samba-klientpakken er installert.

sudo dnf install samba-client 

Bruk deretter kommandoen smbclient som følger

smbclient ‘\2.168.43.121\private’ -U smbuser

Og dette avslutter denne veiledningen for å sette opp SambaRHEL, CentOS Stream, Rocky Linux, og AlmaLinux. Din tilbakemelding på denne veiledningen vil bli satt stor pris på.