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.

Think Python


Recenzja "Think Python". Darmowe książki, O`Reilly oraz Open Books

TDD w praktyce


Słów kilka o książce przedstawiającej zagadnienia związane z testowaniem aplikacji.

Django-filter i "Generic View"


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

Wieczne Blue Lines


Artwork: Michael Nash, 3D-Del Naja
Ćwierćwiecze jednej z najważniejszych płyt ...

Hello Nasty


Artwork By - Bill McMullen , Cey Adams
Już w ...

Gitolite + Cgit


Jak uruchomić własny serwer z systemem kontroli wersji Git oraz ...

© 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).