Listy kontroli dostępu w Ubuntu

Listy kontroli dostępu w Ubuntu
Konta użytkowników są tworzone z określonym zestawem predefiniowanych uprawnień i praw do plików i usług systemowych. Z drugiej strony istnieją grupy, aby udostępniać pliki i foldery między użytkownikami. Zazwyczaj, gdy konta użytkowników są tworzone, można je przypisać do alternatywnych grup. Są jednak chwile, kiedy możesz nie chcieć przypisać konkretnego użytkownika do konkretnej grupy, ale jednocześnie może być konieczne udostępnienie plików/folderów tym konkretnym użytkowniku. Tutaj pojawiają się listy kontroli dostępu (ACL). W tym samouczku dowiemy się o listach kontroli dostępu w Ubuntu.

Listy kontroli dostępu (ACL)

Listy kontroli dostępu (ACL) pozwalają nam dostroić kontrolę dostępu. Innymi słowy, załóżmy, że użytkownik Sara potrzebuje dostępu do jednego folderu należącego do Kalyani. Technicznie moglibyśmy przypisać Sarę do grupy Kalyani, ale to oznaczałoby, że Sara miałaby dostęp do więcej niż potrzebuje, i przypuśćmy, że Kalyani ma poufne pliki, których nie chce, aby Sara czytała, pisała lub wykonywała. Tutaj pojawiają się listy kontroli dostępu lub ACL. Możemy teoretycznie zadzierać z uprawnieniami, ale ACL pozwalają nam zapewnić różnym dostępie różnym użytkownikom, a także zapewnić dostęp bez konieczności bałaganu z faktycznymi uprawnieniami bazowymi pliku lub folderu.

Przeglądanie aktualnych uprawnień

Używamy polecenia getFacl (lista kontroli dostępu do plików), aby wyświetlić bieżące uprawnienia ACL.

GetFacl folder plików

Załóżmy, że tworzę folder o nazwie Secret z dwoma podlokatorami i 5 plikami. Załóżmy dalsze, że chcę zobaczyć uprawnienia ACL na tajnym folderze.

GetFacl Secret

Oznacza to, że właściciel plików i folderu, Kalyani, należący do grupy Kalyani, czytał, pisze i wykonuje uprawnienia. Wszyscy inni nie mają jednak żadnego pozwolenia.

Przypisywanie uprawnień użytkownika

Doprojektowanie uprawnień z ACL jest przeprowadzane za pomocą polecenia setfacl. W szczególności przełącznik -m służy do modyfikacji uprawnień.

setfacl -m u: nazwa użytkownika: nazwa pliku uprawnień

U oznacza, że ​​zmiana jest dla użytkownika, a nie grupy. Po okrężnicy napisano można napisać nazwę użytkownika, dla której przyznano zgodę, a także przyznane pozwolenie. Uprawnienia są takie same jak te dostępne dla CHMOD: odczyt, pisz i wykonuj. Wreszcie piszemy nazwę pliku, do której zastosowanie jest stosowane.

Załóżmy na przykład, że chciałbym przyznać jej pełny dostęp do tego tajnego folderu użytkownikowi Sary, a następnie napiszę:

setfacl -m u: sara: rwx secret

Teraz, gdybyśmy zalogowali się jako Sara, czytamy, pisali i wykonali dostęp do folderu „Secret”. Teraz, pamiętaj, ustanowiłem zgodę 770 do pierwszego katalogu. To pozwolenie zostało zachowane, ale wyjątek od reguły został dodany za pomocą list kontroli dostępu. Gdybym miał inny folder o nazwie „Kali” za zgodą 770 należącą do Kalyani, użytkownik Sara nie byłby w stanie go dotknąć. W rzeczywistości powiedziałoby „odmówiono pozwolenia”.

Ponadto, należy zwrócić uwagę na to, że po modyfikowaniu pliku jako ACL, obok niego znajduje się znak plus. W takim przypadku, jak widać, jest napisane DRWXRWX-+ dla folderu o nazwie Secret. Znak plus oznacza, że ​​został zmodyfikowany za pomocą ACL.

Po ustawieniu ACL tworzona jest również maska. Maska jest maksymalną zgodą, którą użytkownik lub grupa ACL może potencjalnie mieć w katalogu lub pliku.

Przypisanie grup dopracowanych uprawnień

Podobnie jak przypisanie specjalnej zgody użytkowników, możemy również przypisać specjalne pozwolenie grupom. Oznacza to, że możemy zachować nasze uprawnienia podstawowe i przypisać konkretną grupę dodatkową uprawnienia za pomocą ACL.

setfacl -m g: nazwa_ grupy: nazwa pliku uprawnień

Były:

setfacl -m g: John: r Secret

W takim przypadku dajemy grupie John odczyt zgody na tajny folder. Oznacza to, że wszyscy członkowie grupy John przeczytają zgodę na tajny folder i tylko tajny folder. Wszystko inne będzie pod blokadą i kluczem.

Przypisanie rekurencyjne

Tajny folder został zaprojektowany z 3 plikami bezpośrednio w nim i 2 podwodnymi, każdy z jednym plikiem.

Kiedy przypisaliśmy uprawnienia dla użytkownika Sary i Grupy John, nie zrobiliśmy tego rekurencyjnie, więc sprawdźmy uprawnienia ACL substaterejnych (po przypisaniu uprawnień do Secret Directory).

Jak widać, uprawnienia ACL dotyczyły tylko tajnego katalogu, a nie podwodnych. Oznacza to, że Użytkownik Sara i grupa John nie mają danych uprawnień na podwodnicy! W takim przypadku, jeśli chcemy udzielić uprawnień do całego katalogu (w tym podwodnych), musimy wykonać przypisanie rekurencyjne. Do tego używamy przełącznika -R.

setfacl -r -m u: nazwa użytkownika: nazwa pliku uprawnień

Były:

setfacl -r -m u: sara: rwx secret

Usuwanie dopracowanych uprawnień

Możesz także odwołać podane uprawnienia, a to jest równie łatwe do zrobienia, jak daje im. Używasz przełącznika -x zamiast przełącznika -M, aby odwołać uprawnienia.

Aby usunąć konkretny wpis:

setfacl -x u: nazwa nazwy użytkownika nazwa pliku
setfacl -x g: nazwa nazwy_nazji grupy

W takim przypadku napisałbym:

setfacl -x U: Sara Secret
setfacl -x g: John Secret

Aby usunąć wszystkie wpisy w jednym ujęciu:

setfacl -b nazwa pliku

Na przykład:

setfacl -b Secret

To jednak nie usuwa praw do podwodnych. Aby usunąć prawa z podwodnych, musisz użyć rekurencji.

setfacl -r -b secret

Streszczenie

Wszystko, czego się nauczyliśmy, sprowadza się do tego:

Aby wyświetlić uprawnienia ACL:

GetFacl nazwa pliku

Aby ustawić uprawnienia ACL:

setfacl Nazwa pliku

Opcje:
-m, -Modify modyfikuj ACL
-X, -Move Usuń wpis ACL
-B, -ReMove -All usuń wszystkie wpisy ACL
-R Przydział rekurencyjny

Wejście:
U: nazwa użytkownika: uprawnienia dla użytkowników
G: nazwa_ grupy: uprawnienia dla grup

Chociaż CHMOD istnieje, aby przyznać uprawnienia do plików i folderów, nie jest to selektywne. Nie może przyznać różnych przywilejów różnym użytkownikom. Ponadto są chwile, kiedy nie chce się też dodawać przypadkowych osób do grup. Listy ACL lub kontroli dostępu zostały wymyślone tylko na tego rodzaju okazję. Może zapewnić określonym użytkownikom dostęp do określonych plików i/lub folderów. W tym samouczku nauczyliśmy się, jak udzielać użytkownikom i grupom specjalne uprawnienia, rekurencyjnie przypisywać uprawnienia i odwołać wspomniane uprawnienia. Więc idź do przodu i dostosuj uprawnienia do plików i folderów!

Szczęśliwe kodowanie!