GeeksforGeeks

Co to jest ACL ?
Lista kontroli dostępu (ACL) zapewnia dodatkowy, bardziej elastyczny mechanizm uprawnień dla systemów plików. Został on zaprojektowany do pomocy przy nadawaniu uprawnień do plików w systemie UNIX. ACL pozwala nadać uprawnienia dla dowolnego użytkownika lub grupy do dowolnego zasobu dyskowego.

Użycie ACL :
Pomyśl o scenariuszu, w którym konkretny użytkownik nie jest członkiem grupy utworzonej przez ciebie, ale mimo to chcesz dać dostęp do odczytu lub zapisu, jak możesz to zrobić bez uczynienia użytkownika członkiem grupy, tutaj pojawia się obraz Listy kontroli dostępu, ACL pomaga nam zrobić tę sztuczkę.

Podstawowo, ACL są używane do tworzenia elastycznego mechanizmu uprawnień w Linuksie.

Z linuksowych stron man, ACL są używane do definiowania bardziej drobnoziarnistych dyskretnych praw dostępu do plików i katalogów.

setfacl i getfacl są używane do ustawiania ACL i pokazywania ACL odpowiednio.

Na przykład :

getfacl test/declarations.h

Wyjście:

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

Lista poleceń do ustawiania 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

Na przykład :

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

Modyfikacja ACL za pomocą setfacl :
Aby dodać uprawnienia dla użytkownika (użytkownik to nazwa użytkownika lub ID):

# setfacl -m "u:user:permissions" 

Dodać uprawnienia dla grupy (grupa jest albo nazwą grupy albo ID):

# setfacl -m "g:group:permissions" 

Zezwolić wszystkim plikom lub katalogom na dziedziczenie wpisów ACL z katalogu, w którym się znajdują:

# setfacl -dm "entry" 

Przykład :

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

Zobacz poniższy obraz dla danych wyjściowych :

setfacl i getfacl

View ACL :
To show permissions :

# getfacl filename

Observed the difference between output of getfacl command before and after setting setting ACL permissions using setfacl command.
Dodana jest jedna dodatkowa linia dla użytkownika mandeep, która jest zaznaczona na powyższym obrazku.

Wyjście:

change permissions

Powyższe polecenie zmienia uprawnienia z rwx na r-x

Usuwanie ACL :
Jeśli chcesz usunąć ustawione uprawnienia ACL, użyj polecenia setfacl z opcją -b.
Na przykład :

remove set permissions

Jeśli porównasz wyjście polecenia getfacl przed i po użyciu polecenia setfacl z opcją -b, możesz zauważyć, że nie ma żadnego szczególnego wpisu dla użytkownika mandeep w późniejszym wyjściu.

Możesz również sprawdzić, czy są jakieś dodatkowe uprawnienia ustawione przez ACL, używając polecenia ls.

check set acl with ls

Obserwuj pierwsze wyjście polecenia na obrazku, jest tam dodatkowy znak „+” po uprawnieniach jak -rw-rwxr-+, to wskazuje, że są ustawione dodatkowe uprawnienia ACL, które możesz sprawdzić poleceniem getfacl.

Używanie domyślnej ACL :
Domyślna ACL jest specyficznym typem uprawnień przypisanych do katalogu, który nie zmienia uprawnień samego katalogu, ale sprawia, że określone ACL są domyślnie ustawione na wszystkie pliki utworzone wewnątrz niego. Zademonstrujmy to: najpierw stworzymy katalog i przypiszemy do niego domyślne ACL używając opcji -d:

$ mkdir test && setfacl -d -m u:dummy:rw test
Tagi artykułu :

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.