[[: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