Jak zarządzać ACL w Linux
- 3741
- 569
- Laura Zygmunt
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
- « Pierwsze kroki z Jekyll na Debian 9 Stretch Linux
- LEMP (Linux, Nginx, Mariadb, PHP) Wdrożenie obrazu dokera »