Access-control list
Access-control list, ACL (ang., lista kontroli dostępu) – lista uprawnień skojarzonych z obiektem komputerowego systemu plików. Określa, którzy użytkownicy lub procesy systemowe mają dostęp do obiektów, a także jakie operacje są dozwolone na danych obiektach. Każdy wpis na typowej liście ACL określa obiekt i operację. Na przykład jeśli obiekt (plik) posiada listę ACL, która zawiera (Alicja: odczyt, zapis; Bob: odczyt), to Alicja będzie miała uprawnienia do odczytu i zapisu obiektu (pliku), a Bob tylko prawo do jego odczytu.
W systemach uniksowych lista ACL umożliwia bardziej rozbudowaną i dokładną kontrolę dostępu do plików, w porównaniu do standardowych uprawnień w systemie. Standardowe uprawnienia w systemie plików systemu Unix obejmują tylko: zapis, odczyt oraz wykonanie. Każde z uprawnień można definiować dla: właściciela pliku (ang. owner), grupy, do której ten plik należy (ang. group) oraz pozostałych użytkowników (ang. others).
Natomiast za pomocą ACL można ustawić te trzy uprawnienia dla dowolnego użytkownika i grupy. Często ACL definiuje też inne uprawnienia. ACL w Windows 2000 (system plików NTFS) definiuje m.in. prawo do przejęcia własności pliku.
Struktura listy ACL
[edytuj | edytuj kod]Lista kontroli dostępu ACL to struktura danych (zwykle tabela) zawierająca pozycje, określające prawa poszczególnych użytkowników lub grup do określonych obiektów systemowych, takich jak programy, procesy lub pliki.
Pozycje te są znane jako pozycje kontroli dostępu (ACE-Access Control Entry), na przykład w Microsoft Windows NT, OpenVMS, Unix, Linux i MacOS. Każda pozycja posiada identyfikator na swojej liście ACL.
W niektórych implementacjach pozycja ACE może kontrolować, czy użytkownik lub grupa użytkowników może zmieniać listę ACL danego obiektu. W większości uniksowych i uniksopodobnych systemów operacyjnych, listy ACL są zwykle przechowywane w rozszerzonych atrybutach pliku.
Listy ACL (typu podstawowego i rozszerzonego) wykorzystywane są także do tworzenia reguł filtrujących ruch sieciowy w routerach.