Tradiční přístupová oprávnění Linuxu pro soubory a adresáře se skládají z nastavení kombinace oprávnění pro čtení, zápis a spouštění pro vlastníka souboru nebo adresáře, člena skupiny, se kterou je soubor nebo adresář spojen, a všechny ostatní (ostatní). Seznamy řízení přístupu (ACL) poskytují jemnější mechanismus řízení přístupu než tato tradiční přístupová oprávnění pro Linux.
Instalace ACL
Před použitím ACL pro soubor nebo adresář nainstalujte balíček acl:
# yum install acl
Konfigurace ACL v systému souborů
Souborový systém obsahující soubor nebo adresář musí být také připojen s podporou ACL. Následuje syntaxe pro připojení lokálního souborového systému ext3 s podporou ACL:
# mount -t ext3 -o acl [device-name] [mount-point]
Například:
# mount -t ext3 -o acl /dev/mapper/VolGroup00-LogVol00 /data
Pokud je oddíl uveden v souboru /etc/fstab, zahrňte možnost acl:
# vi /etc/fstab LABEL=/data /data ext3 acl 0 0
Pravidla ACL
ACL se skládá ze sady pravidel, která určují, jak může uživatel nebo skupina přistupovat k souboru nebo adresáři, ke kterému je ACL přiřazen. Existují dva typy pravidel ACL:
- přístup k seznamům ACL :Zadejte přístupové informace pro jeden soubor nebo adresář
- výchozí seznamy ACL :Týká se pouze adresáře. Určuje výchozí přístupové informace pro jakýkoli soubor v adresáři, který nemá přístupový ACL.
Zobrazení ACL u souborů
Použijte getfacl nástroj pro zobrazení ACL souboru. Pokud soubor nemá ACL, zobrazuje stejné informace jako „ls –l“, i když v jiném formátu. Například souborový test nemá ACL:
# ls –l test -rw-rw-r-- 1 oracle oracle 25 Mar 5 10:10 test
Ukázkový výstup getfacl testovacího souboru:
# getfacl test # file: test # owner: oracle # group: oracle user::rw- group::rw- other::r--
Konfigurace ACL u souborů
Použijte setfacl nástroj pro přidání nebo úpravu jednoho nebo více pravidel v ACL souboru. Syntaxe je:
# setfacl -m [rules] [files]
Pravidla jsou v následující podobě:
- u:name:oprávnění :Nastavuje přístupový ACL pro uživatele (uživatelské jméno nebo UID)
- g:name:permissions :Nastaví přístupový ACL pro skupinu (název skupiny nebo GID)
- m:oprávnění :Nastaví účinnou masku práv. Jedná se o spojení všech oprávnění vlastnící skupiny a všech záznamů uživatelů a skupin.
- o:oprávnění :Nastaví přístupový ACL pro všechny ostatní (ostatní)
Oprávnění jsou tradiční r, w a x pro čtení, zápis a spouštění. Následující příklad přidá do ACL pro testovací soubor pravidlo, které uživateli oracle dává oprávnění ke čtení a zápisu do tohoto souboru:
# setfacl -m u:oracle:rwx test
Výstup getfacl obsahuje pravidlo ACL:
# getfacl test # file: test # owner: oracle # group: oracle user::rw- user:oracle:rwx group::rw- mask::rwx other::r--
Pokud má soubor ACL, ‚ls –l‘ zobrazí znaménko plus (+ ) podle oprávnění:
# ls –l test -rw-rwxr--+ 1 oracle oracle 25 Mar 5 10:10 test
Odebrání ACL souborů
Použijte –x možnost bez zadání jakýchkoli oprávnění k odebrání pravidel pro uživatele nebo skupinu.
# setfacl –x u:oracle test
Chcete-li odebrat samotný ACL, použijte -b možnost:
# setfacl –b test
Nastavení výchozích ACL
Chcete-li nastavit výchozí ACL, přidejte d: před pravidlo a místo názvu souboru zadejte adresář:
# setfacl -m d:o:rx /shareUNIX/Linux:Základy seznamů řízení přístupu (ACL)