Valószínűleg mindenki ismerti Unixban a fájlok jogosultságkezelését (itt írnak erről lényegesen részletesebben):
$ ls -l
-rw-r--r-- 1 user live 0 Nov 14 07:31 a.txt
Három jogosultságot (r: read, w: write, x: execute) adhatunk három szinten (user, group, other).
Bár többnyire elegendő ez a három szint, időnként felmerül, hogy jobb lenne felhasználói szinten kezelni a jogosultságokat. Egy darabig ez megoldható újabb és újabb csoportok létrehozásával, de nem mindig.
A pontosabb kezeléshez file access control list (file ACL) beállítására (setfacl) illetve lekérdezésére (getfacl) van szükség.
$ setfacl -m u:user2:r a.txt
$ ls -l a.txt
-rw-r--r--+ 1 user live 0 Nov 14 07:31 a.txt
$ getfacl a.txt
# file: a.txt
# owner: user
# group: live
user::rw-
user:user2:r--
group::r--
mask::r--
other::r--
Először user2 felhasználónak adtam olvasási jogot a fájlhoz, ezután ls -l egyetlen + jellel jelzi, hogy valami speciális jog is be van állítva (hasonlóan setcaphoz, ezt is nehéz észrevenni). A jogokat getfacl listázza ki részletesen, kiemeltem azt a sort ami jelzi a frissen beállított jogot.
Ahhoz, hogy használhassuk ezt, szükségünk van arra, hogy a fájlrendszer támogassa ACL-eket, és arra is, hogy megfelelő módon legyen felmountolva a fájlrendszer. Az esetek többségében ezzel nem kell törődnünk, a leggyakrabban előforduló fájrendszerek támogatják ezt.