ACL


13 maja 2012


Rozszerzone uprawnienia w systemie plików.

Linux zawiera doskonały system uprawnień. W trakcie nauki na studiach dwukrotnie miałem przyjemność uczestniczyć w zajęciach z przedmiotu "systemy operacyjne". Na żadnym z nich nie wspomniano o rozszerzonych możliwościach zarządzania uprawnieniami - Access Control Lists (ACL). W pracy zwykłego użytkownika nie ma szczególnej potrzeby używania "list kontroli dostępu" ale w pracy programisty lub administratora znajomość tego narzędzia czasami może spełniać swoją rolę.

Dostęp do systemu ACL jest możliwy, jeżeli w systemie posiadamy zainstalowany program "acl" (Ubuntu), którego będziemy używać z poziomu terminala oraz nasz system plików został zamontowany z określoną opcją:

mount -t ext3 -o acl device-name partition

Odpowiednich wpisów możemy dokonać także w pliku fstab, aby nasz system plików był montowany ze wsparciem ACL już przy starcie.

LABEL=/work       /work      ext3      acl      1     2

Odpowiednie "acl-ki" możemy ustawiać dla danych użytkowników, grup, użytkowników nie będących w grupie, której użytkownicy posiadają dostęp do danego pliku oraz poprzez stosowanie masek.

Podstawowym poleceniem używanymi do odczytania praw "listy kontroli dostępu" jest:

getfacl file

Aby nadać uprawnienia używamy polecenia:

setfacl -m rules files

Zobaczmy jak to działa w praktyce.

1) nadajemy użytkownikowi max prawa czytania i wykonania pliku "sprawozdanie.txt":

setfacl -m u:max:rx sprawozadanie.txt

2) nadajemy grupie "rex" uprawnienia do zapisu w katalogu "raporty" rekursywnie:

setfacl -m -R g:rex:w raporty/

3) w katalogu "wspolny" nowo tworzone pliki przez użytkownika "max" nie powinny posiadać żadnych uprawnień:

setfacl -m -R d:u:max:--- wspolny/

4) usunięcie użytkownika "max" z ACL dla katalogu wspolny/:

setfacl -x u:max wspolny/

Więcej informacji o ACL można znaleźć w dokumentacji dowolnej dystrybucji systemu Linux. Ja używam ACL-ek podczas tworzenia aplikacji w Symfony 2.

Na koniec ważna uwaga: ACL nie zastępują zwykłych uprawnień lecz je rozszerzają co niekiedy może powodować zamieszanie z uprawnieniami (oczywiście chodzi o zamieszanie w głowie użytkownika a nie systemu).

Co zawiera blog?

Na blogu umieszczam wpisy dotyczące mojej pracy, zainteresowań. Głowna tematyka to programowanie oraz recenzje płyt oraz książek.

Symfony 2 - informacje i wrażenia


Symfony 2 miał premierę w ubiegłym roku i przez wiele ...

Haystack, Whoosh i błąd


Wyszukiwanie pełnotekstowe w Django z wykorzystaniem Haystack oraz Whoosh a ...

Ray Bradbury - 451° Fahrenheita


Czytasz książki? Lepiej zacznij!

Django. Tworzenie aplikacji sieciowych


Kilka słów o książce napisanej przez Antonio Melé. Czy warto ...

Isaac Asimov - "Ja, Robot"


Klasycznie o Trzech Prawach Robotyki

Django-filter i "Generic View"


Przykład użycia Django-filter w widokach generycznych opartych na klasach

© Grzegorz Tatara
Przeglądając stronę grzegorztatara.pl zgadzasz się na użycie plików cookies
Ikona avatara pobrana z internetu (na licencji do użytku komercyjnego).