- Access Control List
-
Eine Access Control List, auch ACL, deutsch Zugriffssteuerungsliste, ist eine Software-Technik, mit der Betriebssysteme und Anwendungsprogramme Zugriffe auf Daten und Funktionen eingrenzen können. Eine ACL legt fest, welcher Benutzer welche Dienste und Dateien nutzen darf.
Im Unterschied zu einfachen Zugriffsrechten sind ACLs feiner einstellbar. So können etwa für eine Datei für mehrere Benutzer und Gruppen unterschiedliche Rechte vergeben werden, während reguläre Zugriffsrechte nur die Rechtevergabe für einen Benutzer, eine Gruppe und den „Rest der Welt“ zulassen.
Inhaltsverzeichnis
Unix und Linux
In der Unix-Welt versteht man unter Access Control List eine Erweiterung der klassischen Zugriffssteuerung auf Ebene des Besitzer-Gruppe-Welt-Modells. Auf diese Weise lassen sich Zugriffsrechte spezifisch für einzelne Benutzer zuteilen oder verbieten. Viele Unix-Implementierungen wie z. B. Solaris, IRIX und HP-UX führten Anfang bis Mitte der 1990er Jahre Unterstützung für ein sehr ähnliches, als Erweiterung des klassischen Unix-Zugriffrechtemodells konzipiertes ACL-Modell ein, und es wurde versucht, dieses ACL-System unter POSIX-1003.1e zu standardisieren. Der dazugehörige Standardentwurf wurde jedoch im Oktober 1997 zurückgezogen.
Mitte 2000 wurde damit begonnen, POSIX-1003.1e ACLs in FreeBSD und Linux zu implementieren. Mittlerweile bieten AIX, HP-UX, Linux, FreeBSD, TrustedBSD, Solaris, Trusted Solaris und IRIX native Unterstützung für die zurückgezogenen POSIX-1003.1e ACLs.
Unter Linux unterstützen dabei die Dateisysteme ext2, ext3, ext4, JFS, XFS und ReiserFS POSIX-1003.1e ACLs vollständig. Mit der KDE-Version 3.5 steht auch der Dateimanager Konqueror mit nativer POSIX-1003.1e ACL-Unterstützung zur Verfügung. Für den GNOME-Desktop beherrscht der Dateimanager Nautilus seit Version 2.16 nativ POSIX-1003.1e ACLs. POSIX-1003.1e ACLs werden in Linux statisch vererbt, d. h. die Berechtigungen pflanzen sich in neu angelegte Unterverzeichnisse und Dateien je nach Bedarf fort. Wird die ACL eines übergeordneten Verzeichnisses geändert, hat dies jedoch keinen Einfluss auf die darunterliegende Struktur.
Mit RFC-3010 (NFSv4) wurde im Dezember 2000 ein neuer auf dem ACL-System des NTFS basierender ACL-Standard etabliert. Solaris, AIX und Mac OS X unterstützen mittlerweile diesen Standard. Das Dateisystem ZFS unterstützt ausschließlich NFSv4 ACLs.
Microsoft Windows
Unter Microsoft Windows NT 4.0 wird jedem Betriebssystemobjekt (Dateien, Prozesse etc.) ein Security Descriptor zugeordnet, der eine ACL enthalten kann. Ist keine ACL vorhanden, so erhält jeder Benutzer Vollzugriff auf das Objekt. Ist die ACL vorhanden, aber leer, so erhält kein Benutzer Zugriff. Eine ACL besteht aus einem Header und maximal 1820 Access Control Entries (ACE).[1] Ein ACE enthält jeweils die Information, ob einem Benutzer oder einer Benutzergruppe eine bestimmte Zugriffsart erlaubt (allow) oder verweigert (deny) werden soll. Der Windows-Explorer schreibt die Einträge, die Zugriff verweigern, an den Anfang der ACL. Fordert nun ein Benutzer Zugriff auf ein Objekt an, so geht der Windows Object Manager die Liste von Anfang an durch. Sobald Einträge für alle angeforderten Rechte gefunden wurden, erlaubt oder verweigert der Object Manager entsprechend den Zugriff. Trifft der Object Manager beim Durchgehen der Liste auf einen Eintrag, der den Zugriff verweigert, wird die Suche abgebrochen und der Zugriff auf das Objekt verweigert.
Bei Windows NT bis Version 4.0 werden ACL statisch vererbt, ab Windows 2000 geschieht dies auf Wunsch dynamisch. Wird die ACL eines übergeordneten Verzeichnisses geändert, so hat dies je nach gewählter Vererbung Auswirkungen auf die darunterliegende Verzeichnisstruktur.
Andere Anwendungen
- Ab Mac OS X v10.4 (Tiger) unterstützt auch Mac OS X ACL.
- Das Betriebssystem OpenVMS von HP (ursprünglich DEC) unterstützt auch ACL; deren Einträge ACE heißen.
- Bei Ciscos Betriebssystem IOS bezeichnen ACL Paketfiltereinstellungen.
- Bei einer Reihe von Web-Anwendungen werden ACL benutzt, um den Zugriff auf einzelne Seiten oder Bereiche auf bestimmte Benutzer oder Benutzergruppen einzuschränken, so bei einigen Wikis (etwa DokuWiki) und CMS (etwa eZ Publish).
- SAP setzt bei vielen seiner Anwendungen ebenfalls ACL zur detaillierten Benutzerberechtigung ein, z. B. in der Collaborations-Software cFolders (siehe cProjects) oder dem SAP Easy Document Management.
Siehe auch
- Port Based Network Access Control
- Mandatory Access Control
- Role Based Access Control
- Discretionary Access Control
- Informationssicherheit
- Rechnernetz
- Firewall
Weblinks
- ACLbit - ACL Backup and Inspect Tool for Linux
- Zur Benutzung von ACLs unter OS X (englisch)
- ACL bei Wiki-Software
Quelle
- ↑ Maximum Number of ACEs in an ACL in der Microsoft Knowledge Database, 20. September 2003
Wikimedia Foundation.