Które polecenie systemu Linux wyświetla listę kontroli dostępu (ACL) pliku lub katalogu?
A. traceroute
B. nslookup
C. ping
D. getfacl
Polecenie getfacl jest właściwe, bo służy w Linuksie do odczytywania list kontroli dostępu, czyli ACL, dla plików i katalogów. Standardowe uprawnienia rwx dla właściciela, grupy i pozostałych użytkowników czasem są za mało dokładne, więc ACL pozwala nadać prawa konkretnemu użytkownikowi albo konkretnej grupie bez kombinowania ze zmianą właściciela pliku. Przykładowo polecenie getfacl dokument.txt pokaże właściciela, grupę, klasyczne prawa oraz wpisy typu user:jan:r-- albo group:ksiegowosc:rw-. Dla katalogu można też zobaczyć ACL domyślne, które będą dziedziczone przez nowe pliki tworzone w tym katalogu. W praktyce administracyjnej to bardzo przydatne przy diagnozowaniu problemów w stylu: użytkownik niby jest w dobrej grupie, a jednak nie może zapisać pliku. Moim zdaniem warto od razu kojarzyć parę narzędzi: getfacl służy do wyświetlania ACL, a setfacl do ich ustawiania i modyfikacji. Dobra praktyka jest taka, żeby po zmianach uprawnień zawsze sprawdzić efekt właśnie przez getfacl, bo zwykłe ls -l pokaże tylko uproszczony obraz, czasami z plusem przy prawach, np. rw-r-----+, co oznacza, że istnieją dodatkowe ACL.
W tym pytaniu chodzi o uprawnienia plików i katalogów w systemie Linux, a nie o diagnostykę sieci. Poprawnym narzędziem jest getfacl, ponieważ odczytuje ono ACL, czyli Access Control List. ACL rozszerza klasyczny model uprawnień rwx i pozwala sprawdzić, czy dodatkowe prawa ma konkretny użytkownik albo grupa. To jest typowa czynność administracyjna przy zarządzaniu bezpieczeństwem dostępu do danych na serwerze plików, katalogu domowym użytkownika albo współdzielonym zasobie projektu. Z mojego doświadczenia częsty błąd polega na tym, że ktoś widzi techniczne polecenia linuksowe i wybiera dowolne znane narzędzie z terminala, ale nie patrzy na obszar zastosowania. traceroute nie pokaże uprawnień do pliku, bo służy do badania trasy pakietów przez kolejne routery w sieci IP. ping też jest poleceniem sieciowym; sprawdza osiągalność hosta i opóźnienia, wykorzystując zwykle ICMP Echo Request oraz Echo Reply. nslookup dotyczy systemu DNS i pozwala sprawdzać tłumaczenie nazw domenowych na adresy IP lub odwrotnie. Wszystkie te narzędzia są bardzo przydatne, ale przy diagnozowaniu łączności, nazw i routingu, a nie przy kontroli praw dostępu w systemie plików. Jeżeli zadanie mówi o ACL pliku albo katalogu, trzeba myśleć o administracji systemem Linux, prawach dostępu i komendach takich jak getfacl oraz setfacl. Warto też pamiętać, że samo ls -l może nie wystarczyć, bo przy pliku z ACL zobaczysz tylko sygnał w postaci znaku plus, a pełne wpisy pokaże dopiero getfacl.