Am văzut cum putem acorda unui utilizator sau grup permisiuni speciale asupra unui anumit fișier. În acest ultim articol despre Access Control Lists (ACLs) vom învăța cum putem acorda unui utilizator sau grup permisiuni speciale asupra unui director.
Scenariul pe care vom lucra este unul clasic:
- aplicarea recursivă a acelorași permisiuni speciale asupra întregului conținut existent al unui director;
- aplicarea permisiunilor speciale asupra unui director, astfel încât viitoarele fișiere sau subdirectoare create ulterior în interiorul său să moștenească automat aceleași permisiuni speciale.
Pentru a realiza aceste lucruri, vom parcurge următorii pași:
- vom vizualiza permisiunile unui director nou creat (sau folosim clasicele comenzi chmod și chown);
- vom aplica setările access ACL recursiv asupra tuturor obiectelor existente în interiorul acelui director (fișiere și subdirectoare);
- vom aplica setările default ACL pe director.
Să începem prin a vizualiza permisiunile existente ale directorului numit "directortest":
# mkdir directortest # ll | grep directortest drwxr-xr-x. 2 root root 4096 Dec 1 11:35 directortest
După cum vedem, în acest moment directorul directortest nu are niciun fel de permisiuni speciale - doar clasicul 755:
# getfacl directortest/ # file: directortest/ # owner: root # group: root user::rwx group::r-x other::r-x
În interiorul directorului numit directortest avem următoarele fișiere si subdirectoare, cu permisiunile normale listate alături:
# ll directortest/ total 8 drwxr-xr-x. 2 root root 4096 Dec 1 11:45 dir1 drwxr-xr-x. 2 root root 4096 Dec 1 11:45 dir2 -rw-r--r--. 1 root root 0 Dec 1 11:44 fisier1 -rw-r--r--. 1 root root 0 Dec 1 11:44 fisier2
Access ACL pe directoare
Să presupunem că avem un utilizator numit bobses și care nu este membru în grupul root; dorim să acordăm acestui utilizator acces asupra acestui director utilizând permisiunile speciale. Vom aplica permisiunile speciale access ACL:
# setfacl -R -m user:bobses:rwX /root/directortest/
Cu comanda de mai sus am modificat (m) în mod recursiv (R) permisiunile utilizatorului bobses în "rwX" asupra directorului directortest (litera X acordă permisiuni de execuție doar asupra subdirectoarelor conținute de directortest, nu și asupra fișierelor). Să vizualiazăm permisiunile actuale:
# getfacl directortest/ # file: directortest/ # owner: root # group: root user::rwx user:bobses:rwx group::r-x mask::rwx other::r-x
Să vizualizăm și permisiunile conținutului directorului directortest (vom vedea că utilizatorul bobses are drepturi rwx asupra directoarelor existente și doar rw asupra fișierelor existente):
Dacă vom crea un fișier sau director nou în directorul directortest, vom observa că utilizatorul bobses nu va mai avea niciun drept asupra acestor noi fișiere sau directoare.
Default ACL pe directoare
Pentru a face posibil și acest lucru, va trebui să aplicăm permisiunile default ACL (utile doar pentru a permite noilor fișiere și directoare să moștenească permisiunile ACL ale directorului părinte):
# setfacl -m default:user:bobses:rwx directortest/
În acest moment, dacă facem un fișier nou (numit fisier4) în directorul directortest și îi vom vizualiza permisiunile, vom observa că userul bobses are drepturile necesare asupra acestui nou fișier, spre deosebire de cazul anterior:
# getfacl /root/directortest/fisier4
getfacl: Removing leading '/' from absolute path names
# file: root/directortest/fisier4
# owner: root
# group: root
user::rw-
user:bobses:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
Lasă un răspuns