Příkaz setfacl se používá ke změně oprávnění spojených s ACL souboru nebo adresáře. Příkaz setfacl má několik možností, některé z nejběžnějších jsou popsány v následující tabulce.
Možnost | Popis |
---|---|
-R | Rekurzivně nastavte volby ACL pro adresáře a jejich obsah. |
-s | Nastavte ACL objektu a nahradíte jakýkoli existující ACL. |
-m | Upravit existující ACL objektu. |
-x | Odeberte položky z existujícího ACL. |
-b | Odstraňte všechny položky ACL (kromě standardních oprávnění). |
Syntaxe
Syntaxe příkazu setfacl je:
# setfacl [-bR] [-mx {acl_spec}] {file/directory names}
Následuje příklad úpravy ACL v adresáři, kde je uživateli http udělen přístup pro čtení:
setfacl -m u:http:r-- /home/directory
Pokud při provádění příkazu setfacl narazíte na níže uvedenou chybu:
setfacl: 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 |
Odebrání ACL
Příkaz setfacl se také používá s volbou -x k odstranění aplikovaného ACL pro libovolného uživatele nebo skupinu. Jediný rozdíl při odebírání ACL z nastavení ACL je v tom, že při odstraňování neurčujeme oprávnění. Následující příklad ilustruje použití příkazu setfacl k odstranění ACL aplikovaného na soubor s názvem file1 pro uživatele geel a skupinové laboratoře:
$ setfacl -x u:geek,g:lab file1
K odstranění všech ACL ze souboru nebo adresáře můžeme použít volbu -b, jak je ukázáno v následujícím příkazu:
$ setfacl -b file1
Příklady příkazů setacl
1. Upravte ACL souboru pro uživatele s přístupem pro čtení a zápis:
# setfacl -m u:username:rw file
2. Upravte výchozí ACL souboru pro všechny uživatele:
# setfacl -d -m u::rw file
3. Odeberte ACL souboru pro uživatele:
# setfacl -x u:username file
4. Odeberte všechny položky ACL ze souboru:
# setfacl -b file