Opsætning af Samba og konfigurering af FirewallD og SELinux til at tillade fildeling på Linux/Windows-klienter - Del 6


Da computere sjældent fungerer som isolerede systemer, kan det forventes, at du som systemadministrator eller ingeniør ved, hvordan man opretter og vedligeholder et netværk med flere typer servere.

I denne artikel og i den næste af denne serie gennemgår vi det væsentlige ved opsætning af Samba- og NFS-servere med henholdsvis Windows/Linux- og Linux-klienter.

Denne artikel vil bestemt være praktisk, hvis du bliver bedt om at oprette filservere i virksomheds- eller virksomhedsmiljøer, hvor du sandsynligvis finder forskellige operativsystemer og typer enheder.

Da du kan læse om baggrunden og de tekniske aspekter af både Samba og NFS over hele Internettet, vil vi i denne artikel og den næste skære lige til jagten med emnet ved hånden.

Trin 1: Installation af Samba Server

Vores nuværende testmiljø består af to RHEL 7-kasser og en Windows 8-maskine i den rækkefølge:

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]

På box1 skal du installere følgende pakker:

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

På kasse2:

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

Når installationen er færdig, er vi klar til at konfigurere vores andel.

Trin 2: Opsætning af fildeling gennem Samba

En af grundene til, at Samba er så relevant, er, at den leverer fil- og udskrivningstjenester til SMB/CIFS-klienter, hvilket får disse klienter til at se serveren som om det var et Windows-system (jeg må indrømme, at jeg har tendens til at blive lidt følelsesladet, mens skriver om dette emne, da det var min første opsætning som ny Linux-systemadministrator for nogle år siden).

For at muliggøre gruppesamarbejde opretter vi en gruppe, der hedder økonomi med to brugere (bruger1 og bruger2) med brugeradd-kommando og en mappe/økonomi i boks1.

Vi ændrer også gruppeejeren af denne mappe til finansiering og indstiller dens tilladelser til 0770 (læse-, skrive- og eksekveringstilladelser for ejeren og gruppeejeren):

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

Trin 3: Konfiguration af SELinux og Firewalld

Som forberedelse til at konfigurere/finansiere som en Samba-del er vi nødt til enten at deaktivere SELinux eller indstille de korrekte boolske og sikkerhedskontekstværdier som følger (ellers forhindrer SELinux klienter i at få adgang til delingen):

# 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

Derudover skal vi sikre, at Samba-trafik er tilladt af firewalld.

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

Trin 4: Konfigurer Samba Share

Nu er det tid til at dykke ned i konfigurationsfilen /etc/samba/smb.conf og tilføje sektionen til vores andel: vi ønsker, at medlemmerne af økonomigruppen skal kunne gennemse indholdet af/finans, og gemme/oprette filer eller underkataloger i den (som som standard har deres tilladelsesbit sat til 0770 og finansiering vil være deres gruppeejer):

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

Gem filen, og test den derefter med testparm-værktøjet. Hvis der er nogen fejl, vil output fra følgende kommando angive, hvad du skal rette. Ellers viser den en gennemgang af din Samba-serverkonfiguration:

Hvis du vil tilføje en anden del, der er åben for offentligheden (hvilket betyder uden nogen som helst godkendelse), skal du oprette en anden sektion i /etc/samba/smb.conf og under navnet på den nye del kopieres afsnittet ovenfor, kun ændring af offentlig = nej til public = ja og inkluderer ikke de gyldige brugere og skrivelistdirektiver.

Trin 5: Tilføjelse af Samba-brugere

Derefter skal du tilføje bruger1 og bruger2 som Samba-brugere. For at gøre dette bruger du kommandoen smbpasswd, som interagerer med Sambas interne database. Du bliver bedt om at indtaste en adgangskode, som du senere vil bruge til at oprette forbindelse til delingen:

# smbpasswd -a user1
# smbpasswd -a user2

Til sidst skal du genstarte Samba, aktivere tjenesten til at starte ved opstart, og sørg for, at delingen faktisk er tilgængelig for netværksklienter:

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

På dette tidspunkt er Samba-filserveren korrekt installeret og konfigureret. Nu er det tid til at teste denne opsætning på vores RHEL 7- og Windows 8-klienter.

Trin 6: Montering af Samba Share i Linux

Sørg først for, at Samba-aktien er tilgængelig fra denne klient:

# smbclient –L 192.168.0.18 -U user2

(gentag ovenstående kommando for bruger1)

Som ethvert andet lagringsmedie kan du montere (og senere afmontere) denne netværksshare, når det er nødvendigt:

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

(hvor/media/samba er en eksisterende mappe)

eller permanent ved at tilføje følgende post i/etc/fstab-filen:

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

Hvor den skjulte fil /media/samba/.smbcredentials (hvis tilladelser og ejerskab er indstillet til henholdsvis 600 og root: root) indeholder to linjer, der angiver brugernavnet og adgangskoden til en konto, der har tilladelse til at bruge delingen:

username=user1
password=PasswordForUser1

Endelig, lad os oprette en fil inde/finans og kontrollere tilladelser og ejerskab:

# touch /media/samba/FileCreatedInRHELClient.txt

Som du kan se, blev filen oprettet med 0770 tilladelser og ejerskab indstillet til bruger1: økonomi.

Trin 7: Montering af Samba Share i Windows

For at montere Samba-delingen i Windows skal du gå til Min pc og vælge Computer og derefter kortlægge netværksdrev. Dernæst tildel et bogstav til det drev, der skal kortlægges, og marker Tilslut ved hjælp af forskellige legitimationsoplysninger (skærmbillederne nedenfor er på spansk, mit modersmål):

Endelig, lad os oprette en fil og kontrollere tilladelser og ejerskab:

# ls -l /finance

Denne gang tilhører filen bruger2, da det er den konto, vi brugte til at oprette forbindelse fra Windows-klienten.

Resumé

I denne artikel har vi ikke kun forklaret, hvordan man opsætter en Samba-server og to klienter ved hjælp af forskellige operativsystemer, men også SELinux på serveren for at muliggøre de ønskede gruppesamarbejdsfunktioner.

Sidst, men ikke mindst, lad mig anbefale læsning af online-mandsiden på smb.conf for at udforske andre konfigurationsdirektiver, der kan være mere egnede til din sag end scenariet beskrevet i denne artikel.

Som altid er du velkommen til at droppe en kommentar ved hjælp af nedenstående formular, hvis du har kommentarer eller forslag.