GeeksforGeeks

Mi az ACL?
Az ACL (Access Control List) egy további, rugalmasabb engedélyezési mechanizmust biztosít a fájlrendszerek számára. Úgy tervezték, hogy segítse a UNIX fájlengedélyek kezelését. Az ACL lehetővé teszi, hogy bármilyen felhasználó vagy csoport számára engedélyeket adjon bármilyen lemezes erőforráshoz.

Az ACL használata :
Gondoljunk egy olyan forgatókönyvre, amelyben egy adott felhasználó nem tagja az Ön által létrehozott csoportnak, de mégis olvasási vagy írási hozzáférést szeretne adni, hogyan tudja ezt megtenni anélkül, hogy a felhasználó tagja lenne a csoportnak, itt jön a képbe az Access Control Lists, az ACL segít nekünk ebben a trükkben.

Az ACL-eket alapvetően arra használják, hogy rugalmas engedélyezési mechanizmust hozzanak létre Linuxban.

A Linux man oldalak alapján az ACL-eket arra használják, hogy finomabb diszkrecionális hozzáférési jogokat határozzanak meg a fájlok és könyvtárak számára.

setfacl és getfacl az ACL beállítására, illetve az ACL megjelenítésére szolgál.

Példa :

getfacl test/declarations.h

Kimenet:

# file: test/declarations.h# owner: mandeep# group: mandeepuser::rw-group::rw-other::r--

Az ACL beállítására szolgáló parancsok listája :

1) To add permission for usersetfacl -m "u:user:permissions" /path/to/file2) To add permissions for a groupsetfacl -m "g:group:permissions" /path/to/file 3) To allow all files or directories to inherit ACL entries from the directory it is withinsetfacl -dm "entry" /path/to/dir4) To remove a specific entrysetfacl -x "entry" /path/to/file5) To remove all entriessetfacl -b path/to/file

Példa :

setfacl -m u:mandeep:rwx test/declarations.h

Az ACL módosítása a setfacl segítségével :
Egy felhasználó (a felhasználó vagy a felhasználó neve vagy az azonosítója) jogosultságainak hozzáadásához:

# setfacl -m "u:user:permissions" 

Jogosultságok hozzáadása egy csoporthoz (a csoport a csoport neve vagy azonosítója):

# setfacl -m "g:group:permissions" 

Az összes fájl vagy könyvtár ACL-bejegyzéseinek átvétele a könyvtárból, amelyben található:

# setfacl -dm "entry" 

Példa :

setfacl -m u:mandeep:r-x test/declarations.h

A kimenetet lásd az alábbi képen :

setfacl és getfacl

ACL megtekintése :
A jogosultságok megjelenítéséhez :

# getfacl filename

Nézzük meg a különbséget a getfacl parancs kimenete között az ACL jogosultságok beállítása előtt és után a setfacl parancs segítségével.
A mandeep felhasználóhoz egy plusz sor került hozzá, ami a fenti képen ki van emelve.

Kimenet:

engedélyek megváltoztatása

A fenti parancs az engedélyeket rwx-ről r-x-re változtatja

Az ACL eltávolítása :
Ha a beállított ACL-engedélyeket el akarja távolítani, használja a setfacl parancsot a -b opcióval.
Például :

remove set permissions

Ha összehasonlítja a getfacl parancs kimenetét a setfacl parancs -b opcióval történő használata előtt és után, akkor megfigyelheti, hogy a későbbi kimeneten nincs külön bejegyzés a felhasználó mandeep számára.

Az ls parancs segítségével is ellenőrizheti, hogy vannak-e ACL-en keresztül beállított extra engedélyek.

check set acl with ls

Nézze meg az első parancs kimenetét a képen, a jogosultságok után extra “+” jel van, mint -rw-rwxr-+, ez azt jelzi, hogy vannak extra ACL-engedélyek, amelyeket a getfacl paranccsal ellenőrizhet.

A Default ACL használata :
A default ACL egy könyvtárhoz rendelt speciális engedélytípus, amely nem változtatja meg magának a könyvtárnak az engedélyeit, de biztosítja, hogy a megadott ACL-ek alapértelmezés szerint be legyenek állítva a benne létrehozott összes fájlra. Mutassuk be : először létrehozunk egy könyvtárat, és a -d opció használatával alapértelmezett ACL-t rendelünk hozzá:

$ mkdir test && setfacl -d -m u:dummy:rw test
Cikkcímkék :

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.