Posix ACL dla systemów ext2 i ext3

Podstawowy model dostępu do plików obejmujący użytkownika, grupę oraz wszystkich innych nie zawsze się sprawdza w praktyce. Powstały więc modele dostępu umożliwiające dokładne określenie kto ma jakie prawa do danego pliku i katalogu. Jednym z takich modeli jest model POSIX ACL.

Instalacja

Model ten jest dostępny w jądrach 2.6 standardowo, natomiast dla jąder 2.4 potrzeba jest specjalna łata na jądro. Dostępna jest ona na stronie http://acl.bestbits.at/ . Należy również zainstalować pakiet z narzędziami do obsługi acl-i. Standardowo w dystrybucjach nazywa się on właśnie acl, jeżeli go nie znajdziemy, możemy również je ściągnąć ze z tej strony.

 

Włączanie i wyłączanie obsługi ACLi

Gdy jądro posiada już obsługę ACLi należy system plików przemountować w tryb obsługi kontroli list dostępu, dokonamy tego poleceniem:

mount -o /dev/hdxy -o remount,rw,defaults,acl

Jeżeli nasz główny system plików znajduje się na partycji /dev/hda1 to ta komenda będzie miała postać:

mount -o /dev/hda1 -o remount,rw,defaults,acl

W tej chwili system jest przygotowany do pracy.

Jeżeli chcielibyśmy na stałe używać na tej partycji acl-i należy do opcji mountowania zapisanych w pliku /etc/fstab dodać słówko „acl” np.:

/dev/hda1  / ext3  defaults,acl 0 0

Sprawdzanie praw dostępu do plików

Komendą sprawdzającą kto na jakich prawach dostępu ma dostęp do plików jest getfacl . W przypadku gdy żadne zmiany w trybie dostępu nie zostały dokonane zobaczymy coś podobnego do raportu niżej:

[root@laptop root]# getfacl /etc/lilo.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/lilo.conf
# owner: root
# group: root
user::rw-
group::---
other::---

Natomiast jeżeli dokonaliśmy zmian, zostaną one wyświetlone w specjalny sposób:

[root@laptop root]# getfacl /etc/lilo.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/lilo.conf
# owner: root
# group: root
user::rw-
user:ziutus:rw-
group::---
mask::rw-
other::---

Ustawianie praw dostępu do plików

Polecenie setfacl pozwala ustawić nowe lub modyfikować istniejące prawa dostępu do plików.

[root@laptop root]# setfacl -m u:ziutus:rw /etc/lilo.conf

Współpraca z sieciowymi systemami plików

Samba umie korzystać z Posix ACL, dzięki czemu użytkownicy końcówek windowsowych mają możliwość dokładnego określania kto ma dostęp do czego. Systemy NFS też powinny mieć (przynajmniej ograniczoną) możliwość korzystania z POSIX ACL.

Środowiska graficzne a ACL

Niestety obecnie żadne środowisko graficzne nie wspiera Posix ACL.

Serwery FTP obsługujące ACLe

Jedynym znanym mi serwerem FTP obsługującym ACLe jest Proftpd. Funkcja ta jest dostępna od wersji 1.3.1rc1

Porównanie z innymi modelami ACL

Model POSIX ACL ma na celu rozszerzyć zasady dostępu dla zwykłych użytkowników. Inne modele ACLi (np. z Grsecurity) mają na celu ograniczenie możliwości strat po przejęciu systemu w wyniku włamania, pozwalają one modyfikować prawa dostępu tylko administratorom i to w ograniczonym zakresie (np. dopiero po przełączniu w specjalny tryb pracy). ACLe dostępne razem z SELinuksem mają natomiast wprowadzić bezpieczne zasady dostępu do dokumentów, programów i urządzeń ale pracują tylko w trybie tekstowym (SELinux ma problemy z oprogramowaniem trybu graficznego).

Dodaj komentarz