„Samba“ nustatymas ir „FirewallD“ bei „SELinux“ konfigūravimas, leidžiantis dalytis failais „Linux“/„Windows“ klientuose - 6 dalis


Kadangi kompiuteriai retai veikia kaip izoliuotos sistemos, reikia tikėtis, kad kaip sistemos administratorius ar inžinierius jūs žinote, kaip sukurti ir prižiūrėti tinklą su kelių tipų serveriais.

Šiame ir kitoje šios serijos straipsnyje mes apžvelgsime pagrindinius dalykus, kaip nustatyti „Samba“ ir „NFS“ serverius su „Windows“/„Linux“ ir „Linux“ klientais.

Šis straipsnis tikrai bus naudingas, jei būsite paraginti nustatyti failų serverius įmonės ar įmonės aplinkoje, kur greičiausiai rasite skirtingų operacinių sistemų ir tipų įrenginių.

Kadangi apie „Samba“ ir „NFS“ pagrindus ir techninius aspektus galite perskaityti visame internete, šiame ir kitame straipsnyje aptarsime tiesiai į temą.

1 veiksmas: įdiekite „Samba Server“

Dabartinę bandymų aplinką sudaro dvi „RHEL 7“ dėžutės ir viena „Windows 8“ mašina tokia tvarka:

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]

1 laukelyje įdiekite šiuos paketus:

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

2 langelyje:

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

Baigę diegimą, mes pasirengę konfigūruoti savo dalį.

2 žingsnis: nustatykite failų bendrinimą per „Samba“

Viena iš priežasčių, kodėl „Samba“ yra tokia aktuali, yra ta, kad ji teikia failų ir spausdinimo paslaugas SMB/CIFS klientams, todėl klientai serverį mato taip, tarsi tai būtų „Windows“ sistema (turiu pripažinti, kad aš linkęs šiek tiek jaudintis, o rašiau šia tema, nes tai buvo mano pirmoji sąranka, kaip naujas Linux sistemos administratorius prieš keletą metų)

Kad būtų galima bendradarbiauti grupėje, sukursime grupę pavadinimu „finansai“ su dviem vartotojais (vartotojas1 ir vartotojas2) su komanda „useradd“ ir 1 laukelyje esančiu „directory/finance“.

Mes taip pat pakeisime šio katalogo grupės savininką finansuoti ir nustatysime jo teises į 0770 (skaitymo, rašymo ir vykdymo teises savininkui ir grupės savininkui):

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

3 žingsnis: „SELinux“ ir „Firewalld“ konfigūravimas

Ruošdamiesi konfigūruoti/finansuoti kaip „Samba“ bendrinimą, turėsime išjungti „SELinux“ arba nustatyti tinkamas logines ir saugos konteksto reikšmes taip (kitaip „SELinux“ neleis klientams pasiekti bendro naudojimo):

# 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

Be to, turime užtikrinti, kad užkarda leistų „Samba“ srautą.

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

4 žingsnis: konfigūruokite „Samba Share“

Dabar atėjo laikas pasinerti į konfigūracijos failą /etc/samba/smb.conf ir pridėti dalį mūsų daliai: norime, kad finansų grupės nariai galėtų naršyti/finansų turinį ir išsaugoti/kurti failus arba pakatalogių jame (kurių numatytieji jų leidimo bitai bus nustatyti kaip 0770, o finansai bus jų grupės savininkas):

[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

Išsaugokite failą ir išbandykite jį naudodamiesi „testparm“ programa. Jei yra kokių nors klaidų, šios komandos išvestis nurodys, ką reikia ištaisyti. Kitu atveju bus rodoma jūsų „Samba“ serverio konfigūracijos apžvalga:

Jei norite pridėti dar vieną viešai prieinamą bendrinimą (ty be jokio autentifikavimo), sukurkite kitą skyrių aplanke /etc/samba/smb.conf ir po naujos dalies pavadinimu nukopijuokite aukščiau pateiktą skyrių, pakeisdami tik public = no į public = taip ir neįtraukiant galiojančių vartotojų bei rašant sąrašų direktyvas.

5 žingsnis: „Samba“ vartotojų pridėjimas

Tada turėsite pridėti user1 ir user2 kaip „Samba“ vartotojus. Norėdami tai padaryti, naudosite komandą smbpasswd, kuri sąveikauja su vidine „Samba“ duomenų baze. Būsite paraginti įvesti slaptažodį, kurį vėliau naudosite prisijungdami prie bendrinimo:

# smbpasswd -a user1
# smbpasswd -a user2

Galiausiai iš naujo paleiskite „Samba“, įgalinkite paslaugą paleisti įkrovos metu ir įsitikinkite, kad bendrinimas iš tikrųjų prieinamas tinklo klientams:

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

Šiuo metu „Samba“ failų serveris buvo tinkamai įdiegtas ir sukonfigūruotas. Dabar atėjo laikas išbandyti šią sąranką mūsų RHEL 7 ir Windows 8 klientams.

6 žingsnis: „Samba Share“ diegimas sistemoje „Linux“

Pirmiausia įsitikinkite, kad „Samba“ dalis yra prieinama iš šio kliento:

# smbclient –L 192.168.0.18 -U user2

(pakartokite aukščiau nurodytą komandą „user1“)

Kaip ir bet kurią kitą laikmeną, prireikus galite prijungti (ir vėliau atjungti) šią tinklo dalį:

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

(kur/media/samba yra esamas katalogas)

arba visam laikui, į failą/etc/fstab pridėdami šį įrašą:

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

Jei paslėptame faile /media/samba/.smbcredentials (kurio leidimai ir nuosavybės teisė nustatyti atitinkamai 600 ir root: root) yra dvi eilutės, nurodančios paskyros, kuriai leidžiama naudoti bendrinimą, vartotojo vardą ir slaptažodį:

username=user1
password=PasswordForUser1

Galiausiai sukursime failą/finansai ir patikrinkime teises bei nuosavybės teises:

# touch /media/samba/FileCreatedInRHELClient.txt

Kaip matote, failas buvo sukurtas su „0770“ leidimais ir nuosavybės teise nustatant „user1: finance“.

7 žingsnis: „Samba Share“ įrengimas sistemoje „Windows“

Norėdami prijungti „Samba“ bendrinimą sistemoje „Windows“, eikite į Mano kompiuteris ir pasirinkite Kompiuteris, tada Žemėlapio tinklo diskas. Tada priskirkite atvaizduojamo disko raidę ir pažymėkite Prisijungti naudodami skirtingus kredencialus (toliau pateiktos ekrano kopijos yra ispanų, mano gimtąja kalba):

Galiausiai sukursime failą ir patikrinsime teises ir nuosavybės teises:

# ls -l /finance

Šį kartą failas priklauso user2, nes tai buvo paskyra, kurią naudojome prisijungdami iš „Windows“ kliento.

Santrauka

Šiame straipsnyje mes paaiškinome ne tik tai, kaip nustatyti „Samba“ serverį ir du klientus naudojant skirtingas operacines sistemas, bet ir „SELinux“ serveryje, kad būtų suteiktos norimos grupės bendradarbiavimo galimybės.

Paskutinis, bet ne mažiau svarbus dalykas, leiskite man rekomenduoti perskaityti internetinį „smb.conf“ žmogaus puslapį, kad galėčiau ištirti kitas konfigūravimo direktyvas, kurios gali labiau tikti jūsų atvejui, nei šiame straipsnyje aprašytas scenarijus.

Kaip visada, nedvejodami atsisakykite komentaro naudodami žemiau esančią formą, jei turite kokių nors komentarų ar pasiūlymų.