Wikipedia link. Az alap "rwx" nem lehet mindig elegendő, ezért ezt kibővíti az Access Control List.
Vajon mivel kezdünk? :)
EXT3 esetén az fstab-ban a megfelelő sorban írjuk mount opciónak még az "acl"-t! Ha nem akarjuk újraindítani a gépünket, és például a "/home"-ra állítottuk, akkor:
-al már is használható lesz. De például XFS esetén nem szükséges az említett plusz mount opciót megadni.
Hozzunk létre egy pár próbafilét:
Milyen extra jogok vannak beállítva egy fájlra/vagy mappára?
Rekurzívan:
Az ACL által kezelt jogok ugyan azok, mint a megszokott "rwx", csak ezek kibővítésre kerültek azzal, hogy kinek adhatunk, "rwx" jogosultságokat.
A jogok a következő kulcs szavakhoz vannak rendelve:
Nézzük meg, mit műveltünk:
Tett egy plusz mask sorunk, látszanak a hozzáadott jogok a "gbor2" usernek, és egy "ls -lh" a filére már rak egy "+" jelet ezentúl, jelzésképpen, hogy ott nem csak az alap rwx jogosultságok léteznek:
Most távolítsuk el az imént hozzáadottakat:
Rekurzívan módosítani:
Rekurzívan törölni:
Az összes ACL bejegyzés egy paranccsal törölhető:
Ugyan így rekurzívan megint, stb..:
Példa: Egy "gbor" nevű felhasználó egy közös munka megkezdésekor egy "gbor2" emberkével szeretne együtt dolgozni, mármint olykor közös fájlokat használni. A felhasználó nevében:
"gbor" x jogot ad [ :D:D ] "gbor2"-nek a "/home/gbor"-ra:
Most a közös mappa [de másnak ne legyen joga hozzá]:
De: mivan, ha a "kozos"-ben egy új mappát/fájlt hoz létre valaki? Nem muszáj [ :D ] beállítani újra az ACL-t azon a fájlon, hanem létezik egy "default" kapcsolója a "setfacl"-nek, amivel megadhatunk öröklődést:
A "user"-t lehet rövidíteni "u"-nek is. "Group"-ot: "g"-nek, "other"-t "o"-nak.
ui.: Mount options
ui2.: Alap user kezelés
Vajon mivel kezdünk? :)
apt-get install acl |
mount -o,remount /home |
Hozzunk létre egy pár próbafilét:
for j in {0..1}; do echo "hi, ez itt a[z] $j. probafile" > probafile-$j; mkdir valami-$j; cd valami-$j; done; cd ../../ |
getfacl probafile-0 # file: probafile-0 # owner: gbor # group: gbor user::rw- group::r-- other::r-- |
getfacl -R valami-0/ # file: valami-0/ # owner: gbor # group: gbor user::rwx group::r-x other::r-x # file: valami-0//probafile-1 # owner: gbor # group: gbor user::rw- group::r-- other::r-- # file: valami-0//valami-1 # owner: gbor # group: gbor user::rwx group::r-x other::r-x |
A jogok a következő kulcs szavakhoz vannak rendelve:
- user: a jogok a felhasználóra vonatkoznak, a felhasználó az állomány tulajdonosa, ha a bejegyzés nem tartalmaz felhasználói nevet, egyébkén pedig a listabejegyzésben olvasható felhasználó.
- group: a jogok az állomány tulajdonoscsoportjára vonatkoznak, ha a bejegyzés nem tartalmaz csoportnevet, egyébként pedig a bejegyzésben található csoportra.
- other: a bejegyzésben található jogok azokra a személyekre [folyamatokra] vonatkoznak, amelyekre egyetlen más ACL bejegyzés sem vonatkozik.
- mask: az ilyen jellegű bejegyzések a megadható legmagasabb jogokat mutatják, amely jog tehát nem szerepel ebben a maszkban, azt nem kaphatja meg senki, hiába szerepel a jog a másik bejegyzésben. Kivételt képez ez alól az állomány tulajdonosa és az other kulcsszóval megadott csoport, akiknek a jogait a maszk nem korlátozza.
setfacl -m u:gbor2:rw probafile-0 |
getfacl probafile-0 # file: probafile-0 # owner: gbor # group: gbor user::rw- user:gbor2:rw- group::r-- mask::rw- other::r-- |
ls -lh probafile-0 -rw-rw-r--+ 1 gbor gbor 29 2010-01-01 01:01 probafile-0 |
setfacl -x user:gbor2 probafile-0 getfacl probafile-0 # file: probafile-0 # owner: gbor # group: gbor user::rw- group::r-- mask::r-- other::r-- |
setfacl -R -m u:gbor2:rw valami-0/ |
setfacl -R -x u:gbor2 valami-0/ |
setfacl -b probafile-0 |
setfacl -R -b valami-0/ |
cd /home/gbor/ mkdir kozos cd kozos echo "megosztott szoveg" > olvassel.txt cd .. |
setfacl -m user:gbor2:--x $HOME |
setfacl -R -m user:gbor2:rwx,other::--- kozos/ |
setfacl -m d:u:gbor2:rwx,o::--- kozos/ |
cd kozos mkdir barmi getfacl barmi/ # file: barmi/ # owner: gbor # group: gbor user::rwx user:gbor2:rwx group::r-x mask::rwx other::--- default:user::rwx default:user:gbor2:rwx default:group::r-x default:mask::rwx default:other::--- |
ui2.: Alap user kezelés