Jak zarządzać ACL w Linux

Jak zarządzać ACL w Linux

Cel

Wprowadzenie do zarządzania ACLS (lista kontroli dostępu) w Linux

Wersje systemu operacyjnego i oprogramowania

  • System operacyjny: - Dystrybucja Linuksa Agnostyka

Wymagania

  • Dostęp do korzenia w działającej instalacji Linux
  • Znajomość uznaniowego systemu uprawnień
  • System plików, który obsługuje ACL (e.g xfs, ext2, ext3, ext4), zamontowane z opcją „ACL”
  • Zainstalowanie pakietu „ACL”

Trudność

ŚREDNI

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Wstęp

W tym samouczku zobaczymy, jakie są ACL i jak wykonać podstawową manipulację tego rodzaju uprawnieniami na platformie Linux. Poniższe instrukcje będą działać na dowolnym dystrybucji Linux. Zakładam, że wiesz i czujesz się komfortowo przy użyciu standardowych uprawnień uznaniowych Linux UGO/RWX.

Więc czym są ACL ?

ACL są drugim poziomem uprawnień uznaniowych, które mogą zastąpić standardowe UGO/RWX. W przypadku prawidłowego użycia mogą zapewnić lepszą szczegółowość w ustawianiu dostępu do pliku lub katalogu, na przykład, podając lub odmawiając dostępu do konkretnego użytkownika, który nie jest właścicielem pliku, ani w właścicielu grupy.



Rozpoczęcie pracy

Pierwszą rzeczą, którą musisz zrobić, jeśli chcesz skorzystać z ACLS, jest upewnienie się, że system plików, na którym chcesz użyć, został zamontowany z opcją „ACL”. Aby zweryfikować to ostatnie, możesz uruchomić polecenie „Tune2fs -l”, przekazując partycję jako argument. Jak widać uruchomienie (obcięte wyjście):

# Tune2fs -l /dev /sda3 

Podaje następujący wynik w moim systemie, pokazując, że system plików ON /Dev /SDA3 ma, wśród domyślnych opcji montowania, także „ACL”.

Jeśli Twój system plików nie został zamontowany z opcją „ACL”, możesz ponownie go zamontować, dając potrzebną opcję:

# Mount -o remount -o acl /dev /sda1 

Zwróć jednak uwagę, że opcje montażu ustawione w ten sposób nie będą trwałe i nie będą przetrwać ponownego uruchomienia. Jeśli chcesz uzyskać wytrwałość, musisz zmodyfikować opcje montażu systemu plików w /etc /fstab, przypisując opcję „ACL” statycznie.

Kolejną rzeczą, której potrzebujemy, jest zainstalowanie ACL pakiet. Ten pakiet zawiera różne narzędzia ACL, takie jak GetFacl I setfacl programy.

Przypadek testowy

Zobaczmy, co ACL mogą dla nas zrobić. Najpierw utworzymy plik o nazwie tekst.cfg i damy to jako argument dla GetFacl Komenda. Zobaczmy, co pokazuje dane wyjściowe tego polecenia:

 $ dotyk.CFG && GETFACL Tekst.CFG 

Jak widać, ponieważ nie ustawiliśmy żadnej zgody ACL w pliku, polecenie wyświetla po prostu standardowe wartości uprawnień, a także właściciela pliku i właściciela grupy, zarówno mając uprawnienia do odczytu, jak i zapisu. Teraz wyobraźmy sobie, że chcemy dać konkretnego użytkownika (utworzę tego użytkownika celowo i zadzwonię do niego atrapa ), określony zestaw uprawnień w pliku. Będziemy musieli po prostu uruchomić:

$ setfacl -m u: manekin: tekst RW.CFG 

Przeanalizujmy polecenie: Najpierw mamy oczywiście nazwę programu setfacl, który jest dość oczywisty, potem minęliśmy -M opcja (skrót --modyfikować), co pozwala nam zmienić ACL pliku, a następnie opisy uprawnień U: manekin: rw.

Mamy trzy „sekcje” podzielone przez kolony: w pierwszym, u oznacza użytkownika, określając, że chcemy ustawić ACL dla określonego użytkownika. To mógł być G dla grupy lub o Do inni. W drugiej sekcji mamy nazwę użytkownika, którego chcemy ustawić uprawnienia, aw trzeciej uprawnienia do przypisania.

Wreszcie nazwa pliku, w której chcemy zastosować uprawnienia.

Jeśli teraz spróbujemy uruchomić polecenie „getFacl”, możemy zobaczyć, że jego wyjście odzwierciedla wprowadzone zmiany:

$ getFacl tekst.CFG 



Wpis został dodany dla atrapa użytkownik, pokazujący uprawnienia, które mu przypisaliśmy. Poza tym, jeśli zauważysz, również wpis dla maska pojawił się. Co to oznacza ? Maska powiązana z ACL ogranicza zestaw uprawnień, które można przypisać w pliku dla nazwanych grup i użytkowników oraz dla właściciela grupy, ale nie ma wpływu na uprawnienia dla właściciela pliku i Inny Grupa uprawnień.

W takim przypadku tylko uprawnienia do czytania i pisania można przypisać za pomocą polecenia setfacl. Oczywiście możemy zmienić tę opcję, używając setfacl sam program:

$ setfacl -m maska: r tekst.CFG 

Z powyższym poleceniem ustawiamy maskę, aby umożliwić tylko uprawnienia do czytania. Sprawdźmy wyjście GetFacl Teraz:

$ getFacl tekst.CFG 


Jak widać, obecnie zgłaszane są nie tylko zmiany wprowadzone w masce, ale także skuteczne uprawnienia dla właściciela grupy i nazwanego użytkownika atrapa są pokazane. Chociaż właściciel grupy i atrapa Użytkownik ma uprawnienia do czytania i pisania w pliku, zmieniając maskę, skutecznie ograniczyliśmy ich uprawnienia do odczytu tylko. Jak pokazuje wyjście polecenia, mogą one teraz tylko odczytać plik.

Inne niż wyraźnie zmienione wraz z powyższym poleceniem maska ​​ACLS jest również automatycznie ponownie obliczona, gdy przypisujemy lub zmieniamy uprawnienia za pomocą setFacl (chyba że opcja -n jest określona). Pokazajmy, że: zmienimy uprawnienia atrapa użytkownik RWX a następnie sprawdź wyjście GetFacl:

$ setfacl -m u: manekin: RWX tekst.CFG && GETFACL Tekst.CFG 


Jak widać, maska ​​została ponownie obliczona, a teraz odzwierciedla maksymalne uprawnienia obecne dla nazwanego użytkownika atrapa. Oczywiście, ponieważ teraz uprawnienia wcześniej ustalone nie są wyższe niż maska, nie ma potrzeby wyświetlania #skuteczny status pozwolenia.

Możesz także użyć ACL, aby całkowicie odmówić dostępu do pliku dla określonego nazwiska użytkownika lub grupy. Na przykład, biegając:

$ setfacl -m u: manekin: - tekst.CFG 

Skutecznie zaprzeczamy wszelkim uprawnieniu atrapa Użytkownik w tekście.plik CFG.



Domyślne ACL

domyślny ACL jest konkretnym rodzajem zgody przypisanego do katalogu, który nie zmienia uprawnień samego katalogu, ale sprawia, że ​​określone ACL były domyślnie ustawione na wszystkich utworzonych w nim plikach. Pokazajmy to: najpierw utworzymy katalog i przypisamy domyślny Acl do tego za pomocą -D opcja:

$ mkdir test && setfacl -d -m u: manekin: test RW 

Teraz możemy zbadać wynik getFacl dla tego katalogu:

$ getFacl Test 


domyślny uprawnienia zostały poprawnie przypisane. Teraz możemy je zweryfikować, tworząc plik wewnątrz katalogu testowego i sprawdzając jego uprawnienia, uruchamiając GetFacl:

$ Touch Test/File.CFG && GetFacl Test/Plik.CFG 


Zgodnie z oczekiwaniami plik został utworzony automatycznie odbierający uprawnienia ACLS określone powyżej.

Kiedy chcesz usunąć wszystkie zestaw ACLS, zawsze możesz uruchomić setfacl z -B opcja.

Ten samouczek obejmuje główne aspekty ACL i oczywiście jest o wiele więcej do ich wiedzy. Do tej pory pamiętaj, że jeśli chcesz usunąć wszystkie uprawnienia ACLS przypisane do pliku, musisz po prostu uruchomić setfacl z -B (Krótkie dla --Usuń wszystko) opcja.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Pobierz Linux
  • Czy Linux może uzyskać wirusy? Badanie podatności Linuksa…
  • Najlepszy Linux Distro dla programistów
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Jak montować obraz ISO na Linux
  • Jak sformatować dysk w Linux