getfacl
- getfacl – narzędzie do odczytu i wyświetlania aktualnych list kontroli dostępu (ACL) przypisanych do plików i katalogów.
- Pozwala sprawdzić dodatkowe prawa dostępu (poza tradycyjnym rwx), nadane konkretnym użytkownikom lub grupom.
- Działa na systemach plików obsługujących ACL (ext3/4, xfs, btrfs itp.); dostępne w pakiecie
acl
w większości dystrybucji Linux.
Składnia
Dział zatytułowany „Składnia”getfacl [opcje] plik...
- Domyślnie wypisuje ACL oraz standardowe prawa POSIX.
- Obsługuje wiele plików jednocześnie.
Parametry
Dział zatytułowany „Parametry”Parametr | Opis |
---|---|
-a | Pokaż też tradycyjne prawa POSIX (domyślne) |
-c | Nie pokazuj komentarzy (np. # file: itp.) |
-d | Pokazuje tylko domyślne ACL |
--absolute-names | Pokazuje ścieżki bez skracania (nawet jeśli względne) |
--tabular | Wypisuje dane w formacie tabelarycznym (GNU rozszerzenie) |
--help | Pomoc |
--version | Informacja o wersji |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”# 1. Wyświetlenie ACL plikugetfacl raport.txt
# 2. Sprawdzenie ACL rekursywnie dla katalogugetfacl -R projekty/
# 3. Pokaż tylko domyślne ACL (np. dla katalogów dziedziczących prawa)getfacl -d dane/
# 4. Wypisz ACL bez komentarzy i ścieżekgetfacl -c dokumenty/*
- Pierwszy pokazuje standardowe i rozszerzone prawa dostępu.
- Drugi ułatwia audyt całego drzewa katalogów.
- Trzeci filtruje wyłącznie ACL dziedziczone.
- Czwarty upraszcza wyjście np. dla dalszego przetwarzania.
- System plików musi wspierać ACL oraz mieć je aktywowane (
mount -o acl
). - Dodatkowe prawa mogą być ustawiane przez
setfacl
i dziedziczone przez podkatalogi. - Wyjście pokazuje wpisy dla użytkownika (
user:
), grupy (group:
), innych (other:
) oraz masek (mask:
). - ACL nie są widoczne przy użyciu
ls -l
– trzeba użyćgetfacl
,ls --full-time
lublsattr
.
Najczęściej spotykane błędy i jak je naprawić
Dział zatytułowany „Najczęściej spotykane błędy i jak je naprawić”Błąd / Komunikat | Przyczyna | Rozwiązanie |
---|---|---|
Operation not supported | System plików nie wspiera ACL | Upewnij się, że używasz ext4, xfs lub podobnego z opcją acl |
Permission denied | Brak uprawnień do pliku lub katalogu | Uruchom jako root lub z sudo |
Brak efektu po zmianach ACL | Plik nie ma aktywnej maski ACL | Ustaw maskę za pomocą setfacl -m mask::rwx |
Linki i źródła
Dział zatytułowany „Linki i źródła”- man getfacl – dokumentacja systemowa.
- ACL HOWTO – przewodnik praktyczny.
- GNU Coreutils + acl – informacje o implementacjach.