GeeksforGeeks

Ce este ACL?
Lista de control al accesului (ACL) oferă un mecanism de permisiune suplimentar și mai flexibil pentru sistemele de fișiere. Este conceput pentru a ajuta la permisiunile de fișiere UNIX. ACL vă permite să acordați permisiuni pentru orice utilizator sau grup la orice resursă de disc.

Utilizarea ACL :
Gândiți-vă la un scenariu în care un anumit utilizator nu este membru al grupului creat de dumneavoastră, dar totuși doriți să acordați un anumit acces de citire sau scriere, cum puteți face acest lucru fără a face din utilizator un membru al grupului, aici intră în scenă Listele de control al accesului, ACL ne ajută să facem acest truc.

În principiu, ACL-urile sunt folosite pentru a face un mecanism flexibil de permisiune în Linux.

Din paginile de manual Linux, ACL-urile sunt folosite pentru a defini drepturi de acces discreționar mai fine pentru fișiere și directoare.

setfacl și getfacl sunt folosite pentru a seta ACL și respectiv pentru a arăta ACL.

De exemplu :

getfacl test/declarations.h

Listă de comenzi pentru configurarea ACL :

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

Listă de comenzi pentru configurarea ACL :

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

De exemplu :

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

Modificarea ACL folosind setfacl :
Pentru a adăuga permisiuni pentru un utilizator (user este fie numele de utilizator, fie ID-ul):

# setfacl -m "u:user:permissions" 

Pentru a adăuga permisiuni pentru un grup (grupul este fie numele grupului, fie ID-ul):

# setfacl -m "g:group:permissions" 

Pentru a permite tuturor fișierelor sau directoarelor să moștenească intrările ACL de la directorul în care se află:

# setfacl -dm "entry" 

Exemplu :

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

Vezi imaginea de mai jos pentru ieșire :

setfacl și getfacl

Vezi ACL :
Pentru a afișa permisiunile :

# getfacl filename

Observați diferența dintre ieșirea comenzii getfacl înainte și după configurarea permisiunilor ACL cu ajutorul comenzii setfacl.
Există o linie în plus adăugată pentru utilizatorul mandeep, care este evidențiată în imaginea de mai sus.

Ieșire:

schimbă permisiunile

Comanda de mai sus schimbă permisiunile din rwx în r-x

Îndepărtează ACL :
Dacă doriți să îndepărtați permisiunile ACL setate, utilizați comanda setfacl cu opțiunea -b.
De exemplu :

remove set permissions

Dacă comparați ieșirea comenzii getfacl înainte și după utilizarea comenzii setfacl cu opțiunea -b, puteți observa că nu există nicio intrare specială pentru utilizatorul mandeep în ieșirea ulterioară.

De asemenea, puteți verifica dacă există permisiuni suplimentare stabilite prin ACL utilizând comanda ls.

verificați setul acl cu ls

Observați ieșirea primei comenzi din imagine, există un semn „+” suplimentar după permisiuni precum -rw-rwxr-+, acest lucru indică faptul că există permisiuni suplimentare stabilite prin ACL pe care le puteți verifica prin comanda getfacl.

Utilizarea ACL implicită :
ACL implicită este un tip specific de permisiune atribuit unui director, care nu modifică permisiunile directorului în sine, dar face în așa fel încât ACL-urile specificate să fie setate în mod implicit pe toate fișierele create în interiorul acestuia. Să facem o demonstrație : mai întâi vom crea un director și îi vom atribui un ACL implicit folosind opțiunea -d:

$ mkdir test && setfacl -d -m u:dummy:rw test
Articolul Tags :

Lasă un răspuns

Adresa ta de email nu va fi publicată.