RHCSA serija: ACL (prieigos kontrolės sąrašų) naudojimas ir „Samba“/NFS bendrinimų montavimas – 7 dalis


Paskutiniame straipsnyje (RHCSA serijos 6 dalis) pradėjome aiškinti, kaip nustatyti ir konfigūruoti vietinę sistemos saugyklą naudojant atskirtą ir ssm.

Taip pat aptarėme, kaip sukurti ir prijungti užšifruotus tomus su slaptažodžiu paleidžiant sistemą. Be to, perspėjome vengti svarbių saugyklos valdymo operacijų prijungtose failų sistemose. Atsižvelgdami į tai, dabar apžvelgsime dažniausiai naudojamus failų sistemos formatus Red Hat Enterprise Linux 7, o tada tęsime rankinio montavimo, naudojimo ir atjungimo temas. ir automatiškai tinklo failų sistemas (CIFS ir NFS), taip pat įdiegiant jūsų sistemos prieigos kontrolės sąrašus.

Būtinos sąlygos

Prieš tęsdami, įsitikinkite, kad turite Samba ir NFS serverį (atminkite, kad NFSv2 nebepalaikomas RHEL 7).

Šiame vadove naudosime įrenginį su IP 192.168.0.10, kuriame abi paslaugos veikia kaip serveryje, ir RHEL 7 langelį kaip klientą, kurio IP adresas 192.168 .0.18. Vėliau straipsnyje mes jums pasakysime, kokius paketus turite įdiegti kliente.

Failų sistemos formatai RHEL 7

Pradedant nuo RHEL 7, XFS buvo pristatyta kaip numatytoji failų sistema visoms architektūroms dėl didelio našumo ir mastelio. Šiuo metu ji palaiko didžiausią 500 TB failų sistemos dydį pagal naujausius „Red Hat“ ir jos partnerių atliktus įprastinės aparatinės įrangos testus.

Be to, XFS įgalina user_xattr (išplėstinius vartotojo atributus) ir acl (POSIX prieigos valdymo sąrašus) kaip numatytąsias prijungimo parinktis, skirtingai nei ext3 arba ext4 (ext2). yra laikomas nebenaudojamu nuo 7 RHEL), o tai reiškia, kad jums nereikia aiškiai nurodyti tų parinkčių nei komandinėje eilutėje, nei /etc/fstab, kai prijungiate XFS failų sistemą (jei norite išjungti tokias parinktis šiuo paskutiniu atveju, turite aiškiai naudoti no_acl ir no_user_xattr).

Atminkite, kad išplėstinius vartotojo atributus galima priskirti failams ir katalogams, kad būtų galima saugoti savavališką papildomą informaciją, pvz., MIME tipą, simbolių rinkinį arba failo kodavimą, o vartotojo atributų prieigos teises apibrėžia įprasti failo leidimo bitai.

Prieigos kontrolės sąrašai

Kadangi kiekvienas sistemos administratorius, pradedantysis ar ekspertas, yra gerai susipažinęs su įprastomis failų ir katalogų prieigos teisėmis, kurios nurodo tam tikras teises (skaityti, rašyti ir vykdyti). ) savininkui, grupei ir „pasauliui“ (visiems kitiems). Tačiau, jei reikia šiek tiek atnaujinti atmintį, skaitykite RHCSA serijos 3 dalį.

Tačiau kadangi standartinis ugo/rwx rinkinys neleidžia konfigūruoti skirtingų leidimų skirtingiems vartotojams, buvo įvesti ACL, siekiant apibrėžti detalesnes failų ir katalogų prieigos teises nei tie, kurie nurodyti įprastiniuose leidimuose.

Tiesą sakant, ACL apibrėžti leidimai yra leidimų, nurodytų failo leidimo bitais, viršūnė. Pažiūrėkime, kaip visa tai išversta realiame pasaulyje.

1. Yra dviejų tipų ACL: prieigos ACL, kurios gali būti taikomos konkrečiam failui arba katalogui) ir >numatytieji ACL, kuriuos galima pritaikyti tik katalogui. Jei juose esantys failai neturi ACL, jie paveldi numatytąjį savo pirminio katalogo ACL.

2. Pirmiausia ACL galima konfigūruoti kiekvienam vartotojui, grupei arba vartotojui, kuris nepriklauso failo grupei.

3. ACL nustatomi (ir pašalinami) naudojant setfacl, naudojant -m arba - x parinktis.

Pavyzdžiui, sukurkime grupę pavadinimu tecmint ir pridėkime prie jos naudotojus johndoe ir davenull:

groupadd tecmint
useradd johndoe
useradd davenull
usermod -a -G tecmint johndoe
usermod -a -G tecmint davenull

Ir patikrinkime, ar abu vartotojai priklauso papildomai grupei tecmint:

id johndoe
id davenull

Dabar /mnt sukurkime katalogą pavadinimu playground, o viduje – failą testfile.txt. Grupės savininkui nustatysime tecmint ir pakeisime numatytuosius ugo/rwx leidimus į 770 (skaitymo, rašymo ir vykdymo leidimai, suteikti abiems failo savininkas ir grupės savininkas):

mkdir /mnt/playground
touch /mnt/playground/testfile.txt
chmod 770 /mnt/playground/testfile.txt

Tada perjunkite naudotoją į johndoe ir davenull tokia tvarka ir parašykite į failą:

echo "My name is John Doe" > /mnt/playground/testfile.txt
echo "My name is Dave Null" >> /mnt/playground/testfile.txt

Kol kas viskas gerai. Dabar tegul vartotojas gacanepa rašo į failą – ir rašymo operacija nepavyks, ko ir reikėjo tikėtis.

Bet ką daryti, jei mums iš tikrųjų reikia, kad vartotojas gacanepa (kuris nėra grupės tecmint narys) turėtų rašymo leidimus /mnt/playground/testfile.txt?< Pirmas dalykas, kuris gali ateiti į galvą, yra įtraukti tą vartotojo abonementą į grupę tecmint. Bet tai jam suteiks leidimus rašyti VISUS failus, jei grupei nustatytas rašymo bitas, o mes to nenorime. Tik norime, kad jis galėtų rašyti į /mnt/playground/testfile.txt.

touch /mnt/playground/testfile.txt
chown :tecmint /mnt/playground/testfile.txt
chmod 777 /mnt/playground/testfile.txt
su johndoe
echo "My name is John Doe" > /mnt/playground/testfile.txt
su davenull
echo "My name is Dave Null" >> /mnt/playground/testfile.txt
su gacanepa
echo "My name is Gabriel Canepa" >> /mnt/playground/testfile.txt

Suteikime naudotojui gacanepa skaitymo ir rašymo prieigą prie /mnt/playground/testfile.txt.

Paleisti kaip root,

setfacl -R -m u:gacanepa:rwx /mnt/playground

ir sėkmingai pridėsite ACL, leidžiančią gacanepa rašyti į bandomąjį failą. Tada pereikite prie naudotojo gacanepa ir bandykite dar kartą įrašyti į failą:

echo "My name is Gabriel Canepa" >> /mnt/playground/testfile.txt

Norėdami peržiūrėti konkretaus failo ar katalogo ACL, naudokite getfacl:

getfacl /mnt/playground/testfile.txt

Norėdami nustatyti numatytąjį ACL katalogui (kurio turinys paveldės, nebent bus perrašytas kitaip), prieš taisyklę pridėkite d: ir nurodykite katalogą, o ne failo pavadinimą:

setfacl -m d:o:r /mnt/playground

Aukščiau pateiktas ACL naudotojams, nepriklausantiems savininkų grupei, bus suteikta skaitymo prieiga prie būsimo katalogo /mnt/playground turinio. Atkreipkite dėmesį į getfacl /mnt/playground išvesties skirtumą prieš ir po pakeitimo:

Oficialaus RHEL 7 saugyklos administravimo vadovo 20 skyriuje pateikiama daugiau ACL pavyzdžių, todėl labai rekomenduoju pažvelgti į jį ir turėti jį kaip nuorodą.