RHCSA Serie: Benotzt ACLs (Access Control Lists) a Montéierung Samba/NFS Shares - Deel 7


Am leschten Artikel (RHCSA Serie Part 6) hu mir ugefaang z'erklären wéi Dir lokal Systemlagerung mat Parted an ssm opstellt an konfiguréiert.

Mir hunn och diskutéiert wéi een verschlësselte Bänn mat engem Passwuert erstellt a montéiert wärend dem Systemboot. Zousätzlech hu mir Iech gewarnt fir kritesch Späichermanagement Operatiounen op montéierte Dateiesystemer auszeféieren. Mat deem vergiessen wäerte mir elo déi meescht benotzt Dateisystemformater am Red Hat Enterprise Linux 7 iwwerpréiwen an da weidergoen fir d'Themen vum Montage, Benotzung an Unmounting manuell an automatesch Netzwierkdateiesystemer (CIFS an NFS) ze decken, zesumme mat der Implementatioun. vun Zougang Kontroll Lëschte fir Äre System.

Ier Dir weider geet, gitt sécher datt Dir e Samba Server an en NFS Server verfügbar hutt (notéiert datt NFSv2 net méi an RHEL 7 ënnerstëtzt gëtt).

Wärend dësem Guide benotze mir eng Maschinn mat IP 192.168.0.10 mat béide Servicer déi als Server lafen, an eng RHEL 7 Box als Client mat IP Adress 192.168.0.18. Méi spéit am Artikel wäerte mir Iech soen wéi eng Packagen Dir musst op de Client installéieren.

Dateisystemformater an RHEL 7

Ugefaange mat RHEL 7, gouf XFS als Standarddateisystem fir all Architekturen agefouert wéinst senger héijer Leeschtung a Skalierbarkeet. Et ënnerstëtzt de Moment eng maximal Dateiesystemgréisst vun 500 TB wéi déi lescht Tester vu Red Hat a senge Partner fir Mainstream Hardware.

XFS aktivéiert och user_xattr (erweidert Benotzerattributer) an acl (POSIX Zougangskontrolllëschten) als Standard Mountoptiounen, am Géigesaz zu ext3 oder ext4 (ext2 gëtt als deprecéiert ugesinn wéi vum RHEL 7 ), dat heescht datt Dir dës Optiounen net explizit op der Kommandozeil oder an /etc/fstab braucht wann Dir en XFS Dateiesystem montéiert (wann Dir dës Optiounen an dësem leschte Fall auszeschalten wëllt, musst Dir explizit benotzen < b>no_acl an no_user_xattr).

Denkt drun datt déi erweidert Benotzerattributer fir Dateien an Verzeichnisser zougewisen kënne ginn fir arbiträr zousätzlech Informatioun ze späicheren wéi de Mimetyp, Zeecheset oder Kodéierung vun enger Datei, wärend d'Zougangsrechter fir Benotzerattributer duerch déi regulär Dateierlaabnisbits definéiert sinn.

Well all Systemadministrator, entweder Ufänger oder Expert, gutt mat regelméissegen Zougangsrechter op Dateien an Verzeichnisser vertraut ass, déi bestëmmte Privilegien (liesen, schreiwen an ausféieren) fir de Besëtzer, de Grupp an d'Welt (all déi aner) spezifizéieren ).Da kennt dir awer gären op den 3. Deel vun der RHCSA-Serie verweisen, wann dir d'Erënnerung e bëssen opfrësche musst.

Wéi och ëmmer, well de Standard ugo/rwx-Set et net erlaabt verschidde Permissiounen fir verschidde Benotzer ze konfiguréieren, goufen ACLs agefouert fir méi detailléiert Zougangsrechter fir Dateien a Verzeichnisser ze definéieren wéi déi vun de reguläre Permissiounen spezifizéiert.

Tatsächlech sinn ACL-definéiert Permissiounen e Superset vun den Permissiounen, déi vun de Dateierlaabnisbits spezifizéiert sinn. Loosst eis kucken wéi all dëst iwwersetzt an der realer Welt applizéiert gëtt.

1. Et ginn zwou Zorte vun ACLs: Zougang ACLs, déi entweder op eng spezifesch Datei oder e Verzeichnis applizéiert kënne ginn), an Default-ACLs, déi nëmmen op en Verzeichnis applizéiert ginn. Wann Dateien, déi dra enthale sinn, keen ACL-Set hunn, ierwen se de Standard-ACL vun hirem Elterenverzeichnis.

2. Fir unzefänken, kënnen ACLs pro Benotzer, pro Grupp oder pro Benotzer konfiguréiert ginn, deen net an der Besëtzergrupp vun enger Datei ass.

3. ACLs gi gesat (a geläscht) mat setfacl, mat entweder den -m oder -x Optiounen, respektiv.

Zum Beispill, loosst eis eng Grupp mam Numm tecmint erstellen an d'Benotzer johndoe an davenull derbäi addéieren:

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

A loosst eis verifizéieren datt béid Benotzer zu der Ergänzungsgrupp Tecmint gehéieren:

# id johndoe
# id davenull

Loosst eis elo e Verzeechnes mam Numm Spillplaz bannent /mnt erstellen, an eng Datei mam Numm testfile.txt bannen. Mir setzen de Gruppbesëtzer op tecmint an änneren seng Standard ugo/rwx Permissiounen op 770 (liesen, schreiwen an ausféieren Permissiounen, déi souwuel dem Besëtzer wéi och dem Gruppbesëtzer vun der Datei ginn):

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

Da schalt de Benotzer op johndoe an davenull, an där Reiefolleg, a schreift op d'Datei:

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

Sou wäit sou gutt. Loosst eis elo de Benotzer gacanepa an d'Datei schreiwen - an d'Schreifoperatioun fällt aus, wat ze erwaarden war.

Awer wat wa mir tatsächlech de Benotzer gacanepa brauchen (deen net Member vun der Grupp tecmint ass) fir Schreifrechter op /mnt/playground/testfile.txt ze hunn? Déi éischt Saach, déi Iech am Kapp kënnt, ass dee Benotzerkont an d'Grupp Tecmint derbäi. Awer dat wäert him Schreifrechter op ALL Dateien ginn, wa de Schreifbit fir de Grupp gesat ass, a mir wëllen dat net. Mir wëllen nëmmen datt hien op /mnt/playground/testfile.txt schreiwen kann.

# 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

Loosst eis de Benotzer gacanepa liesen a schreiwen Zougang zu /mnt/playground/testfile.txt.

Run als root,

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

an Dir hutt erfollegräich en ACL bäigefüügt, deen et erlaabt Gacanepa an d'Testdatei ze schreiwen. Da schalt op de Benotzer gacanepa a probéiert nach eng Kéier op d'Datei ze schreiwen:

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

Fir d'ACLs fir eng spezifesch Datei oder Verzeechnes ze gesinn, benotzt getfacl:

# getfacl /mnt/playground/testfile.txt

Fir e Standard-ACL op e Verzeichnis ze setzen (deen säin Inhalt ierft, wann net anescht iwwerschriwwe gëtt), füügt d: virun der Regel a spezifizéiert e Verzeechnes anstatt e Dateinumm:

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

Den ACL hei uewen erlaabt d'Benotzer, déi net an der Besëtzergrupp sinn, liesen Zougang zu den zukünftegen Inhalter vum /mnt/Playground Verzeechnes. Notéiert den Ënnerscheed am Output vu getfacl /mnt/Playground virun an no der Ännerung:

Kapitel 20 am offiziellen RHEL 7 Storage Administration Guide gëtt méi ACL Beispiller, an ech recommandéieren Iech e Bléck op et ze huelen an hunn et praktesch als Referenz.