Różnica między chmod a ACL

13

Rozumiem chmodi chownjak działają bity uprawnień, ale w Linuksie jest inny system uprawnień ACLz setfacli getfacl, więc zastanawiam się.

Jaka jest różnica między tymi dwoma systemami kontroli uprawnień? Czy kolidują ze sobą?

mFeinstein
źródło

Odpowiedzi:

7

Jedno nie jest lepsze od drugiego, to tylko inne metody i sposób myślenia.

Możesz używać obu systemów uprawnień na tej samej ścieżce bez problemów.

Zakłócają się nawzajem podczas modyfikowania uprawnień właściciela, grupy i innych: podczas ustawiania bieżącej wartości dla tych z setfacl, faktycznie ustawi uprawnienia POSIX, a nie ACL.

Uprawnienia Posix zezwalają tylko właścicielowi, właścicielowi grupy i uprawnieniu „wszyscy”, podczas gdy ACL pozwala wielu „właścicielom” użytkowników i grupy. ACL umożliwia także ustawienie domyślnych uprawnień dla nowych plików w folderze.

Możesz dodać więcej zarządzania uprawnieniami w dodatku do apparmor lub selinux, aby ściślej kontrolować.

Zulgrib
źródło
1
Czy mam rację zakładając, że kiedy uruchomię ls -l, zobaczę tylko uprawnienia posix i uprawnienia ACL, które dalej ograniczają plik, nie będą wyświetlane? A może niezależnie od tego będą przestrzegane uprawnienia do posix?
mFeinstein
3
@mFeinstein Zależy. W systemie Linux ls -lumieszcza +na końcu znaków uprawnień, aby wskazać, że ACL są obecne. Jeśli listy ACL są obecne, podstawowe uprawnienia nie mówią pełnej historii: ACL zastępuje uprawnienia POSIX.
Gilles „SO- przestań być zły”
Świetnie! To +przynajmniej powstrzymuje mnie przed
zbłądzeniem
3

Klasyczne uprawnienia Unix ustawione przez chmod (odczyt / zapis / wykonanie, użytkownik / grupa / inny) istniały znacznie dłużej niż ACL. Gdyby ACL istniało od samego początku, nie byłoby chmod, jaki znamy. Ponieważ jednak chmod istnieje od bardzo dawna, wiele aplikacji go nazywa, wiele formatów archiwów obsługuje klasyczne uprawnienia itp. Możesz wyrazić uprawnienia chmod za pomocą ACL; działają one jako punkt wyjścia do ACL.

Zobacz Pierwszeństwo użytkownika i właściciela grupy w uprawnieniach do plików oraz Pierwszeństwo ACLS, gdy użytkownik należy do wielu grup, aby uzyskać bardziej szczegółowe informacje na temat działania kontroli dostępu w obecności ACL.

chmodKomenda kontroluje również niektóre flagi, które tak naprawdę nie są uprawnienia, ale są często nazywane uprawnieniami mimo: setuid, setgid i lepki bit . Nie są to tak naprawdę uprawnienia, ponieważ nie wpływają one na to, które dostępu są autoryzowane w pliku, ale jak działają pewne operacje na pliku po ich autoryzacji. Z ACL nie ma nic takiego.

Gilles „SO- przestań być zły”
źródło
Aby naprawdę zrozumieć uprawnienia do pliku, muszę sprawdzić zarówno ACL, jak i ls -l?
mFeinstein
Czy istnieje sposób, aby sprawdzić, czy istnieją jakieś specyficzne uprawnienia ACL do pliku / katalogu?
mFeinstein
@mFeinstein Sprawdź, czy uprawnienia wyświetlane przez lsmają dodatkowe +na końcu, lub uruchom getfaclpolecenie, aby wyświetlić wszystkie uprawnienia, w tym ACL.
Gilles „SO- przestań być zły”
1
Po prostu getfacl myFile?
mFeinstein
1
Tak, getfacl na ścieżce, którą chcesz sprawdzić.
Zulgrib