Přístupový seznam (ACL) je seznam oprávnění připojených k objektu. ACL lze použít v situacích, kdy tradiční koncept oprávnění k souborům nestačí. Seznamy ACL vám umožňují přidělovat oprávnění jednotlivým uživatelům nebo skupinám, i když tato oprávnění neodpovídají vlastníkovi nebo skupině objektu.
Například členové dvou skupin oddělení mohou potřebovat různé úrovně přístupu ke stejnému zdroji. Skupina 1 může potřebovat přístup r/w/x k adresáři, zatímco skupina 2 potřebuje pouze přístup r/x. Pomocí ACL můžete udělit různé úrovně přístupu různým uživatelům, skupinám a dokonce i procesům. Seznamy ACL umožňují podrobnější úroveň kontroly.
Příkaz getfacl se používá k načtení ACL souborů a adresářů. Základní výstupní formát příkazu getfacl zobrazuje metadata o objektu včetně jeho vlastníka, jeho skupiny, všech nastavených příznaků SUID/SGID/sticky bit, standardních oprávnění spojených s objektem a jednotlivých položek oprávnění pro uživatele a skupiny.
Pokud chcete vidět, jaké jsou ACL spojené se souborem, můžeme použít příkaz getfacl. Syntaxe je poměrně jednoduchá:
# getfacl filename
Což dává výstup jako:
# file: filename # owner: geek # group: geek user::rw- user:andy:r-- user:bob:r-- user:james:rwx group::r-- mask::rwx other::r--
Pokud při provádění příkazu getfacl narazíte na níže uvedenou chybu:
getfacl: command not found
můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce:
Distribuce | Příkaz |
---|---|
Debian | apt-get install acl |
Ubuntu | apt-get install acl |
Alpine | apk přidat acl |
Arch Linux | pacman -S acl |
Kali Linux | apt-get install acl |
CentOS | yum install acl |
Fedora | dnf install acl |
Raspbian | apt-get install acl |
Příklady příkazů getfacl
1. Chcete-li získat ACL souboru:
# getfacl /tmp/file.txt
2. Zobrazení seznamu řízení přístupu k souborům:
# getfacl -a /tmp/file.txt # getfacl --access /tmp/file.txt
3. Zobrazení výchozího seznamu řízení přístupu:
# getfacl -d /tmp/file.txt # getfacl --default /tmp/file.txt
4. Chcete-li se vyhnout zobrazení záhlaví komentáře:
# getfacl -c /tmp/file.txt # getfacl --omit-header /tmp/file.txt
5. Chcete-li vytisknout všechny platné komentáře k právům:
# getfacl -e /tmp/file.txt # getfacl --all-effective /tmp/file.txt
6. Chcete-li se vyhnout tisku účinných práv:
# getfacl -E /tmp/file.txt # getfacl --no-effective /tmp/file.txt
7. Chcete-li přeskočit soubory, které mají pouze základní položky ACL:
# getfacl -s /tmp/file.txt # getfacl --skip-base /tmp/file.txt
8. Chcete-li rekurzivně vypsat seznam ACL:
# getfacl -R /tmp # getfacl --recursive /tmp
9. Chcete-li sledovat symbolické odkazy:
# getfacl -L /tmp/file.txt # getfacl --logical /tmp/file.txt
10. Chcete-li se vyhnout následování symbolických odkazů:
# getfacl -P /tmp/file.txt # getfacl --physical /tmp/file.txt
11. Chcete-li získat tabulkový výstupní formát:
# getfacl -t /tmp/file.txt # getfacl --tabular /tmp/file.txt
12. Neodstraňujte úvodní lomítko:
# getfacl -p /tmp/file.txt # getfacl --absolute-names /tmp/file.txt
13. Seznam číselných ID uživatelů a skupin:
# getfacl -n /tmp/file.txt # getfacl --numeric /tmp/file.txt
14. Chcete-li získat verzi souboru getfacl:
# getfacl -v # getfacl -version
15. Získání nápovědy pro getfacl:
# getfacl -h # getfacl --help