Telepíteni kell az acl nevű csomagot. Debian GNU/Linuxon:
apt-get install acl
Ezek után újra kell csatolni a fájlrendszert. Derítsük ki mi a fájlrendszer azonosítója, ahol szeretnénk ezt használni. Ebben segíthet például a „df” parancs.
Legyen a választott partíció a /dev/sda1. Ekkor a következő módon csatolhatjuk újra a fájlrendszert:
mount -o remount,acl /dev/sda1
Újraindítás után persze ezek a beállítások elvesznek. Hogy a beállítás újraindítás után is érvényes legyen írjuk a /etc/fstab állományban a csatolási információkhoz az acl érvényesítését.
Például:
/dev/sda1 / ext3 acl,defaults,errors=remount-ro 0 1
Az ACL-k ezek után használhatók.
ACL-bejegyzéstípusok
Típus | Szöveges forma |
---|---|
tulajdonos | user::rwx |
megnevezett felhasználó | user:name:rwx |
tulajdonoscsoport | group::rwx |
megnevezett csoport | group:name:rwx |
maszk | mask::rwx |
egyéb | other::rwx |
Hozzunk létre a /home/munka/info/eredmeny.txt fájlt:
mkdir -p /home/munka/info cd /home/munka/info touch eredmeny.txt
Nézzük meg a fájl ACL beállításait:
getfacl eredmeny.txt
Az eredmény ehhez hasonló lesz:
# file: eredmeny.txt # owner: root # group: root user::rw- group::r-- other::r--
Az állományra jelenleg semmilyen ACL-t nem állítottunk be, az alapértelmezett beállításokat látjuk.
Adjunk a mari nevű felhasználónak olvasási és írási jogokat az eredmeny.txt fájlra:
setfacl -m u:mari:rw eredmeny.txt
Ezek után, ha lekérdezzük a beállításokat getfacl eredmeny.txt:
# file: eredmeny.txt # owner: root # group: root user::rw- user:mari:rw- group::r-- mask::rw- other::r--
Nézzük meg a szimpla ls -l parancs kimenetét:
-rw-rw--r--+ 1 root root 0 jún 22 20.53 eredmeny.txt
A „+” jelből láthatjuk, hogy valamilyen ACL be van állítva az állományra.
Most vegyük le a beállítást:
setfacl -x u:mari eredmeny.txt
Kérdezzük le a jogokat:
getfacl eredmeny.txt
Esetleg a maszkot is eltüntethetjük:
setfacl -x mask eredmeny.txt
A setfacl -m u::r és hasonló beállításoknál, ahol nem adunk meg felhasználót, olyan mintha a chmod parancsot használtuk volna.
De tekintsük meg a /home/munka/info könyvtár beállításait:
getfacl /home/munka/info
getfacl: Removing leading '/' from absolute path names # file: home/pub/info # owner: root # group: root user::rwx group::r-x other::r-x
setfacl -m user:jozsi:rwx,group:konyveles:rwx konyvtarnev
A -m hatására a jogok beállításra kerülnek.
A beállítások lekérdezése:
getfacl konyvtarnev
Az eredmény:
# file: konyvtarnev # owner: gizi # group: informatika user::rwx user:jozsi:rwx group::r-x group:konyveles:rwx mask::rwx other::---
A következő utasítás az összes ACL bejegyzést törli az adott állományról vagy könyvtárról:
setfacl -b fájlnév
Rekurzívan (az alkönyvtárakban is):
setfacl -R -b könyvtárnév
Az attr csomag lehetővé teszi a fájlrendszer-kiterjesztések beállításának lekérdezését, beállítását.
apt-get install attr man getfattr man setfattr
Az ext fájlrendszerekben a 2 változattól van még egy plusz lehetőség, a lsattr és a chattr parancsokkal tudjuk kihasználni.
man lsattr man chattr
ACL Linuxon: