[[:oktatas:linux|< Linux]] ====== ACL ====== * **Szerző:** Sallai András * Copyright (c) 2011, Sallai András * Szerkesztve: 2011, 2018 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Telepítés, beállítás ===== 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. ===== Típusok ===== 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 | ===== Használat ===== ==== Beállítás egy fájlra ==== 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. ==== Beállítás könyvtárra ==== 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::--- ==== ACL bejegyzések törlése ==== 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 ===== Lásd még ===== ==== attr ==== 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 ==== lsattr, chattr ==== 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 ===== Linkek ===== ACL Linuxon: * http://www.novell.com/hu-hu/documentation/sled10/sled_deployment_sp2/html/SLED-deployment/sec.acls.handle.html * http://hu.opensuse.org/Dokument%C3%A1ci%C3%B3/SL9.3/Adminisztr%C3%A1ci%C3%B3/Hozz%C3%A1f%C3%A9r%C3%A9s-vez%C3%A9rl%C3%A9si_list%C3%A1k_Linuxban * http://szabadlinuxot.blogspot.com/2009_07_01_archive.html * http://www.bestbits.at/acl/ * http://www.debianhelp.co.uk/acl.htm * http://wiki.debian.org/Permissions