RHCSA Series: Notkun ACL (aðgangsstýringarlista) og uppsetning Samba/NFS hlutabréfa - Hluti 7


Í síðustu grein (RHCSA röð Part 6) byrjuðum við að útskýra hvernig á að setja upp og stilla staðbundna kerfisgeymslu með því að nota parted og ssm.

Við ræddum líka hvernig á að búa til og tengja dulkóðuð bindi með lykilorði við ræsingu kerfisins. Að auki vöruðum við þig við að forðast að framkvæma mikilvægar geymslustjórnunaraðgerðir á uppsettum skráarkerfum. Með það í huga munum við nú fara yfir mest notuðu skráarkerfissniðin í Red Hat Enterprise Linux 7 og halda síðan áfram að fjalla um uppsetningu, notkun og aftengingu bæði handvirkt og sjálfvirkt netskráarkerfi (CIFS og NFS), ásamt útfærslunni. af aðgangsstýringarlistum fyrir kerfið þitt.

Áður en lengra er haldið skaltu ganga úr skugga um að þú hafir Samba netþjón og NFS netþjón tiltækan (athugaðu að NFSv2 er ekki lengur stutt í RHEL 7).

Í þessari handbók munum við nota vél með IP 192.168.0.10 með báðar þjónustur sem keyra á henni sem miðlara og RHEL 7 kassa sem biðlara með IP tölu 192.168.0.18. Síðar í greininni munum við segja þér hvaða pakka þú þarft að setja upp á viðskiptavininn.

Skráarkerfissnið í RHEL 7

Frá og með RHEL 7 hefur XFS verið kynnt sem sjálfgefið skráarkerfi fyrir alla arkitektúra vegna mikillar frammistöðu og sveigjanleika. Það styður sem stendur hámarks skráarkerfisstærð upp á 500 TB samkvæmt nýjustu prófunum sem Red Hat og samstarfsaðilar þess hafa gert fyrir almennan vélbúnað.

XFS gerir einnig user_xattr (útvíkkuð notendaeiginleika) og acl (POSIX aðgangsstýringarlistar) virkja sem sjálfgefna tengingarvalkosti, ólíkt ext3 eða ext4 (ext2 er talið úrelt frá og með RHEL 7 ), sem þýðir að þú þarft ekki að tilgreina þessa valkosti sérstaklega hvorki á skipanalínunni né í /etc/fstab þegar þú setur upp XFS skráarkerfi (ef þú vilt slökkva á slíkum valkostum í þessu síðasta tilviki þarftu sérstaklega að nota < b>no_acl og no_user_xattr).

Hafðu í huga að hægt er að úthluta auknu notendaeiginleikum skrár og möppur til að geyma handahófskenndar viðbótarupplýsingar eins og hermagerð, stafasett eða kóðun skráar, en aðgangsheimildir fyrir notendaeiginleika eru skilgreindar af venjulegum skráarheimildarbitum.

Þar sem sérhver kerfisstjóri, hvort sem er byrjandi eða sérfræðingur, er vel kunnugur reglulegum aðgangsheimildum á skrám og möppum, sem tilgreina ákveðin réttindi (lesa, skrifa og framkvæma) fyrir eigandann, hópinn og heiminn (alla aðra) Hins vegar skaltu ekki hika við að vísa til 3. hluta RHCSA seríunnar ef þú þarft að hressa aðeins upp á minnið.

Hins vegar, þar sem staðlaða ugo/rwx settið leyfir ekki að stilla mismunandi heimildir fyrir mismunandi notendur, voru ACL kynntar til að skilgreina ítarlegri aðgangsrétt fyrir skrár og möppur en þær sem tilgreindar eru í venjulegum heimildum.

Reyndar eru ACL-skilgreindar heimildir ofurmengi þeirra heimilda sem tilgreindar eru af heimildarbitunum fyrir skrána. Við skulum sjá hvernig allt þetta þýðir er beitt í hinum raunverulega heimi.

1. Það eru tvær tegundir af aðgangsheimildum: aðgangsheimildir, sem hægt er að nota á annað hvort tiltekna skrá eða möppu), og sjálfgefna aðgangsheimildir, sem aðeins er hægt að nota á möppu. Ef skrár sem eru í þeim eru ekki með ACL sett, erfa þær sjálfgefið ACL móðurskrár þeirra.

2. Til að byrja með er hægt að stilla ACL fyrir hvern notanda, hvern hóp eða fyrir hvern notanda sem er ekki í eigandahópi skráar.

3. ACL eru stillt (og fjarlægð) með setfacl, með annaðhvort -m eða -x valmöguleikanum, í sömu röð.

Við skulum til dæmis búa til hóp sem heitir tecmint og bæta notendum johndoe og davenull við hann:

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

Og við skulum sannreyna að báðir notendur tilheyra viðbótarhópnum tecmint:

# id johndoe
# id davenull

Við skulum nú búa til möppu sem heitir leikvöllur innan /mnt, og skrá sem heitir testfile.txt inni. Við munum setja hópeigandann á tecmint og breyta sjálfgefnum ugo/rwx heimildum hans í 770 (lesa, skrifa og framkvæma heimildir sem veittar eru bæði eiganda og hópeiganda skráarinnar):

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

Skiptu síðan um notanda yfir í johndoe og davenull, í þeirri röð, og skrifaðu í skrána:

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

Svo langt svo gott. Nú skulum við láta notandann gacanepa skrifa í skrána - og skrifaðgerðin mun mistakast, sem búast mátti við.

En hvað ef við þurfum raunverulega notandann gacanepa (sem er ekki meðlimur tecmint hópsins) til að hafa skrifheimildir á /mnt/playground/testfile.txt? Það fyrsta sem þér dettur í hug er að bæta þessum notandareikningi við hóp tecmint. En það mun gefa honum skrifheimildir á ÖLLUM skrám þar sem skrifbitinn er stilltur fyrir hópinn, og við viljum það ekki. Við viljum aðeins að hann geti skrifað á /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

Við skulum veita notanda gacanepa les- og skrifaðgang að /mnt/playground/testfile.txt.

Keyra sem rót,

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

og þú hefur bætt við ACL sem gerir gacanepa kleift að skrifa í prófunarskrána. Skiptu síðan yfir í notanda gacanepa og reyndu að skrifa í skrána aftur:

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

Til að skoða ACL fyrir tiltekna skrá eða möppu, notaðu getfacl:

# getfacl /mnt/playground/testfile.txt

Til að stilla sjálfgefið ACL á möppu (sem innihald hennar mun erfa nema skrifað sé yfir á annan hátt), bætið við d: á undan reglunni og tilgreinið möppu í stað skráarnafns:

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

ACL hér að ofan mun leyfa notendum sem ekki eru í eigendahópnum að hafa lesaðgang að framtíðarinnihaldi /mnt/leiksvæðisskrárinnar. Athugaðu muninn á framleiðslu getfacl /mnt/playground fyrir og eftir breytinguna:

Kafli 20 í opinberu RHEL 7 geymslustjórnunarhandbókinni gefur fleiri ACL dæmi og ég mæli eindregið með því að þú skoðir hann og hafir hann handan viðmiðunar.