RHEL 7 – RHCSA Notes (Cheat Sheets)
Seznamy řízení přístupu k souborům (FACL) nebo jednoduše ACL jsou seznamem dalších uživatelů/skupin a jejich oprávnění k souboru. Ačkoli výchozí oprávnění k souboru plní svou práci dokonale, neumožňují vám udělit oprávnění více než jednomu uživateli nebo jedné skupině ke stejnému souboru.
Jak zjistit, kdy je k souboru připojen ACL
Příkaz ls -l by vytvořil výstup, jak je uvedeno níže. Všimněte si + podepsat na konci oprávnění. Tím potvrdíte, že k souboru je připojen ACL.
# ls -l -rw-r--r-+ 1 root root 0 Sep 19 14:41 file
Zobrazení seznamů ACL
Chcete-li zobrazit podrobné informace ACL o souboru, použijte příkaz getfacl. Pokud pozorně vidíte, uživatelé sam a john mají některá další oprávnění (zobrazeno zvýrazněně). Výchozí uživatelská/skupinová oprávnění jsou specifikována pomocí „user::permission“ a „group::
# getfacl /tmp/test # file: test # owner: root # group: root user::rw- user:john:rw- user:sam:rwx group::r-- mask::rwx other:---
Naproti tomu, pokud zkontrolujete ACL u souboru s „žádnými ACL“, další řádky „user:“ a „mask“ se nezobrazí a zobrazí se standardní oprávnění k souboru. :
# getfacl test # file: test # owner: root # group: root user::rw- group::r-- other::r--
Vytváření a správa FACL
Příkaz setfacl slouží k nastavení ACL na daný soubor. Chcete-li poskytnout rw přístup uživateli john k souboru /tmp/test:
# setfacl -m u:john:rw /tmp/test
Volba -m říká setfacl, aby upravil ACL v souborech uvedených v příkazovém řádku. Místo uživatele john můžeme mít skupinu, která má konkrétní oprávnění k souboru:
# setfacl -m g:accounts:rw /tmp/test
FACL pro více uživatelů a skupin lze také nastavit jediným příkazem:
# setfacl -m u:john:rw,g:accounts:rwx /tmp/test
Výchozí seznamy ACL
Nastavením výchozího ACL určíte oprávnění, která budou nastavena pro všechny nové položky vytvořené v adresáři. Ale oprávnění existujících souborů a podadresářů zůstávají stejná.
Chcete-li vytvořit výchozí FACL v adresáři:
# setfacl -m default:u:john:rw /accounts
Všimněte si výchozích oprávnění v příkazu getfacl:
# getfacl accounts/ # file: accounts/ # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:user:john:rw- default:group::r-x default:mask::rwx default:other::r-x
Odebrání FACL
Chcete-li odstranit ACL, použijte příkaz setfacl s volbou -x :
# setfacl -x u:john /tmp/test
Výše uvedený příkaz odebere ACL pro uživatele john ze souboru /tmp/test. ACL pro ostatní uživatele/skupiny, pokud nějaké zůstanou nedotčeny. K odstranění všech ACL přidružených k souboru použijte volbu -b s setfacl :
# setfacl -b /tmp/testMůžete také vytvořit zálohu ACL pomocí getfacl a obnovit ACL pomocí příkazu setfacl. K vytvoření zálohy použijte getfacl -R /dir> file.acls. Chcete-li obnovit nastavení ze záložního souboru, použijte setfacl –restore=file.acl