RHCSA seeria: ACL-ide (pääsukontrolli loendid) kasutamine ja Samba/NFS-i aktsiate paigaldamine - 7. osa


Viimases artiklis (RHCSA seeria 6. osa) hakkasime selgitama, kuidas seadistada ja konfigureerida kohaliku süsteemi salvestusruumi parted ja ssm abil.

Arutasime ka seda, kuidas süsteemi käivitamisel parooliga krüptitud köiteid luua ja ühendada. Lisaks hoiatasime teid vältimast kriitiliste mäluhalduse toimingute tegemist ühendatud failisüsteemides. Seda silmas pidades vaatame nüüd Red Hat Enterprise Linux 7 enimkasutatavad failisüsteemivormingud üle ja seejärel käsitleme nii käsitsi kui ka automaatselt võrgus failisüsteemide (CIFS ja NFS) ühendamise, kasutamise ja lahtiühendamise teemasid koos rakendusega teie süsteemi juurdepääsu kontrollnimekirjadest.

Enne jätkamist veenduge, et teil oleks saadaval Samba server ja NFS-server (pange tähele, et RHEL 7 ei toeta enam NFSv2-d).

Selle juhendi ajal kasutame masinat IP-ga 192.168.0.10, kus mõlemad teenused töötavad serverina, ja RHEL 7-kasti kliendina IP-aadressiga 192.168.0.18. Hiljem artiklis ütleme teile, millised paketid peate kliendile installima.

Failisüsteemi vormingud RHEL-is 7

Alates RHEL 7-st on XFS selle suure jõudluse ja mastaapsuse tõttu kasutusele võetud kõigi arhitektuuride vaikefailisüsteemina. Praegu toetab see maksimaalset failisüsteemi suurust 500 TB vastavalt Red Hati ja tema partnerite viimastele peavoolu riistvara testidele.

Samuti lubab XFS vaikimisi ühendamisvalikutena funktsioonid user_xattr (laiendatud kasutaja atribuudid) ja acl (POSIX-i juurdepääsukontrolli loendid), erinevalt ext3 või ext4 (ext2 loetakse RHEL 7-st alates aegunuks) ), mis tähendab, et XFS-i failisüsteemi paigaldamisel ei pea te neid valikuid sõnaselgelt määrama kas käsureal ega kataloogis/etc/fstab (kui soovite viimasel juhul sellised suvandid keelata, peate selgesõnaliselt kasutama < b> no_acl ja no_user_xattr ).

Pidage meeles, et laiendatud kasutajaatribuute saab failidele ja kataloogidele määrata suvalise lisateabe, näiteks miimikatüübi, märgistiku või faili kodeerimise, säilitamiseks, kasutaja atribuutide juurdepääsuõigused on määratletud tavaliste faililubade bitidega.

Kuna iga süsteemiadministraator, nii algaja kui ka asjatundja, tunneb hästi failide ja kataloogide tavapäraseid juurdepääsuõigusi, mis määravad omanikule, rühmale ja kogu maailmale (kõik teised - teatud õigused (lugemine, kirjutamine ja täitmine) ). Kui aga peate oma mälu veidi värskendama, vaadake julgelt RHCSA seeria 3. osa.

Kuna aga standardne ugo/rwx komplekt ei võimalda erinevate kasutajate jaoks erinevaid õigusi konfigureerida, võeti kasutusele ACL-id, et määratleda failidele ja kataloogidele üksikasjalikumad juurdepääsuõigused kui tavalistes lubades.

Tegelikult on ACL-i määratletud õigused failide lubade bittidega määratud lubade ülekoormus. Vaatame, kuidas seda kõike tõlgendatakse reaalses maailmas.

1. ACL-sid on kahte tüüpi: juurdepääs ACL-idele, mida saab rakendada kas kindlale failile või kataloogile) ja vaikimisi ACL-id, mida saab rakendada ainult kataloogidele. Kui selles sisalduvatel failidel pole ACL-i komplekti, pärivad nad oma vanema kataloogi ACL-i vaikeloendi.

2. Alustuseks saab ACL-e konfigureerida kasutaja, rühma või kasutaja jaoks, kes ei kuulu faili omavasse rühma.

3. ACL-id määratakse (ja eemaldatakse), kasutades setfacl-i, vastavalt kas -m või -x.

Näiteks laseme luua grupi nimega tecmint ja lisage sellele kasutajad johndoe ja davenull:

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

Kontrollime, kas mõlemad kasutajad kuuluvad täiendavasse rühma tecmint:

# id johndoe
# id davenull

Loome nüüd kataloogi nimega mänguväljak/mnt ja faili testfile.txt. Määrame rühmaomaniku tecmintiks ja muudame selle vaikimisi ugo/rwx-õigused väärtusele 770 (nii faili omanikule kui ka rühmaomanikule antud õigused lugemiseks, kirjutamiseks ja täitmiseks):

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

Seejärel lülitage kasutaja selles järjekorras kasutusele johndoe ja davenull ja kirjutage faili:

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

Siiamaani on kõik korras. Nüüd laseme kasutajal gacanepa faili kirjutada - ja kirjutamistoiming nurjub, mida oli oodata.

Aga mis siis, kui me tegelikult vajame kasutajal gacanepa (kes ei kuulu rühma tecmint) kirjutamisõigused saidil /mnt/playground/testfile.txt? Esimene asi, mis teile pähe võib tulla, on selle kasutajakonto lisamine tecminti rühma. Kuid see annab talle kirjutamisõigused KÕIGILE failidele, kui kirjutamisbitt on grupile määratud, ja me ei soovi seda. Tahame ainult, et ta saaks kirjutada /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

Andkem kasutajale gacanepa lugemis- ja kirjutusjuurdepääs failile /mnt/playground/testfile.txt.

Käivita juurena,

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

ja olete edukalt lisanud ACL-i, mis võimaldab gacanepal testifaili kirjutada. Seejärel lülituge kasutajale gacanepa ja proovige uuesti faili kirjutada:

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

Konkreetse faili või kataloogi ACL-ide vaatamiseks kasutage getfacl:

# getfacl /mnt/playground/testfile.txt

Vaikimisi ACL-i määramiseks kataloogile (mille selle sisu pärib, kui ei kirjutata teisiti), lisage reegli ette d: ja määrake failinime asemel kataloog:

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

Ülaltoodud ACL võimaldab kasutajatel, kes pole omanike rühmas, olla lugemisõigus tulevasele kataloogi/mnt/mänguväljakule. Pange tähele getfacl/mnt/mänguväljaku väljundi erinevust enne ja pärast muudatust:

Ametliku RHEL 7 Storage Administration Guide'i 20. peatükis on rohkem ACL-i näiteid ja soovitan teil tungivalt seda vaadata ning kasutada seda viitena.