»Ich sehne mich danach, eine große und noble Aufgabe zu erfüllen, doch es ist meine größte Pflicht, kleine Aufgaben so zu erfüllen, als ob sie groß und nobel wären.«
– Helen Keller
14 Grundlegende Verwaltungsaufgaben
Nachdem wir uns im letzten Kapitel in aller Ausführlichkeit der Benutzerverwaltung gewidmet haben, wollen wir im Folgenden weitere wichtige Themen zur Systemadministration behandeln. Beginnen wollen wir dabei mit einem Thema, das sehr eng mit der Benutzerverwaltung zusammenhängt.
14.1 Rechteverwaltung 

Die Rechteverwaltung wurde zum Teil bereits in vorhergehenden Kapiteln vorgestellt und soll in diesem Kapitel vom Kopf auf die Füße gestellt werden. Bisher ist Ihnen bekannt, dass jede Datei einen Eigentümer besitzt und einer Gruppe zugeordnet ist. Für Eigentümer und Gruppe sowie für den Rest der Welt werden nun jeweils drei Rechte vergeben oder verweigert: Das Recht zu lesen, zu schreiben und auszuführen. Verändern kann diese Rechte nur der Eigentümer oder eben root, für den sowieso keine Einschränkungen gelten. Rechte anzeigen können wir dabei mit ls:
$ ls -l -rwxr-xr-x 1 jwmp users 12262 2005-05-08 20:41 test -rw-r--r-- 1 jwmp users 245 2005-04-16 18:27 test.c
Listing 14.1 Rechte betrachten mit ls
Dabei haben wir auch schon über die Interpretation der hier angezeigten Daten gesprochen: Die Dateien gehören beide dem Benutzer jwmp und der Gruppe users. Für die test-Datei hat der Eigentümer die Rechte rwx, während die Gruppe und die »anderen« die Rechte r-x – also das Lese- und Ausführrecht, aber kein Schreibrecht – besitzen.
14.1.1 chmod 

Rechte verändern
Zuerst stellt sich also die Frage, wie man die Rechte auf Dateien verändern kann. Dazu wird das Programm chmod genutzt, das neben der Datei natürlich noch die zu verändernden Rechte als Argument auf der Kommandozeile entgegennimmt. Die neuen Rechte können dabei auf zwei Arten angegeben werden: als eine Oktalzahl, die das Bitmuster der Rechteverteilung repräsentiert, oder als symbolischer Ausdruck.
Rechte als Oktalzahl
Die Rechtemaske für den Eigentümer, die Gruppe und den Rest besteht aus jeweils drei Bits. Ein Bit repräsentiert dabei den Zustand eines Rechts: 0 steht für ein verweigertes Recht, 1 für ein gegebenes Recht. Eine Oktalzahl ist nun eine Zahl zur Basis 8. [Im Oktalsystem gibt es also keine Ziffer »8« und keine Ziffer »9«. Man zählt somit 1, 2, 3, 4, 5, 6, 7, 10, 11, 12 etc.] Damit kann man eine Ziffer mit drei Bits darstellen: das Bitmuster 000 entspricht der Null, 001 der Eins, 010 der Zwei und schließlich 111 der Sieben.
Binär zu zählen ist relativ einfach: Das hinterste Bit entspricht dem Wert 20 , also der 1. Das zweite Bit entspricht dem Wert 21 = 2 und das vorderste Bit dem Wert 22 = 4. Möchte man eine Zahl nun binär darstellen, so zerlegt man sie einfach in diese Komponenten: 5 wird damit zu 4 + 1 und damit – man muss jetzt nur die entsprechenden Bits setzen – zu 101 binär.
Drei Zahlen
Um die Rechtemaske einer Datei nun als Oktalzahl darzustellen, brauchen wir drei Oktalzahlen. Die erste Oktalzahl repräsentiert die Rechte des Eigentümers, die zweite die Rechte der Gruppe und die dritte schließlich die Rechte der »anderen«. Dazu ein einfaches Beispiel:
Nehmen wir die Zahl 660. Die Zahl 6 lässt sich als 4 plus 2 schreiben, womit in der binären Darstellung das zweite und dritte Bit (von rechts gelesen) gesetzt wird. Die Binärzahl 110 wird nun so interpretiert, dass die erste Eins die Rechte für alle anderen Benutzer definiert: Da die Null natürlich kein einziges Bit gesetzt hat, dürfen die anderen Benutzer die Datei weder lesen noch schreiben und schon gar nicht ausführen. |
Wie kann man nun die Rechte einer Datei entsprechend den eigenen Vorstellungen setzen? Zuerst muss man sich natürlich überlegen, welche Rechte diese Datei nun eigentlich bekommen soll – und zwar aufgeschlüsselt nach Eigentümer, Gruppe und »andere«. Hat man sich also einmal überlegt, dass man als Eigentümer die Datei lesen, schreiben und ausführen will, die Gruppe und alle anderen sie jedoch nur lesen und ausführen können sollen, ist wieder etwas Mathematik und Übung gefragt:
Das Lesen, Schreiben und Ausführen zu gewähren bedeutet, dass alle drei Bits in der ersten Oktalzahl gesetzt werden müssen. Diese Zahl ist nun 1 + 2 + 4 = 7. Da die Rechtemaske des Eigentümers zuerst genannt wird, steht diese Zahl im Oktetttripel an erster Stelle. Die Zahlen für die Gruppe und den Rest der Welt ergeben sich analog: Hier soll nur das Lesen und das Ausführen erlaubt sein, was das erste und das letzte Bit in der Binärzahl setzt. Diese Zahl 101 wird nun als 4 + 1 = 5 gelesen und damit entsprechend umgewandelt. Da diese Maske für die Gruppe und den Rest der Welt gilt, ergibt sich eine endgültige Rechtemaske von 755. Mit chmod wird die Maske wie folgt gesetzt:
$ ls -l test.sh -rw-r--r-- 1 jwmp users 122 2005-05-08 20:41 test.sh $ chmod 755 test.sh $ ls -l test.sh -rwxr-xr-x 1 jwmp users 122 2005-05-08 20:41 test.sh
Listing 14.2 Setzen der Zugriffsrechte mit chmod
Zu kompliziert?
Auf Anfänger wirkt diese Art der Rechtevergabe oft abschreckend, da ihre mathematischen Spitzfindigkeiten zugegeben etwas kompliziert sind. Hat man sich jedoch an diese Notation gewöhnt, wird man sie nicht mehr missen wollen, da sie alle Fakten sehr kompakt und eindeutig definiert. An dieser Stelle sei wieder auf die Unix-Philosophie verwiesen: Professionellen Anwendern wird diese Notation irgendwann in Fleisch und Blut übergehen, und redundanzarm ist sie auch.
Rechte als symbolischer Ausdruck
Einfacher ist dabei der symbolische Ausdruck. Die Manpage von chmod beschreibt diese Angabe als Ausprägung des regulären Ausdrucks
[ugoa...][[+-=][rwxXstugo...]...][,...]
Spätestens an dieser Stelle wäre es nun praktisch, die Ausführungen unseres Kapitels über reguläre Ausdrücke verstanden zu haben – aber natürlich werden wir die genaue Notation hier ebenfalls erläutern.
Intuitive Syntax
Jedenfalls kann man den Werten u (User), g (Group), o (Others) und a (All) beziehungsweise sinnvollen Kombinationen aus diesen Werten bestimmte Rechte-Flags zuordnen (=), hinzufügen (+) oder auch entfernen (-). Hier einige Beispiele:
- Der Gruppe das Schreibrecht erteilen
In einem solchen Fall würden wir nicht die ganze bestehende Rechtemaske ändern, sondern nur ein Rechte-Flag hinzufügen. Die Aufgabe erledigt folgender Befehl:
$ chmod g+w test.txt
Listing 14.3 Schreibrecht für die Gruppe
-
- Benutzt wurde also das w-Flag, um der Gruppe (g) zusätzlich (+) das Schreibrecht zu gewähren.
- Allen Benutzern das Ausführungsrecht entziehen
Diese Aktion funktioniert analog zum Erteilen des Schreibrechts:
$ chmod a-x test.sh
Listing 14.4 Nur noch Lese- und Schreibrecht für den Eigentümer
-
- Nun kann die Datei test.sh weder vom Eigentümer noch von der Gruppe oder irgendwem sonst ausgeführt werden.
- Dem Eigentümer das Lesen und Schreiben erlauben
Anders als bei den vorherigen Beispielen möchte man in diesem Beispiel nicht die bestehenden Rechte verändern, sondern für den Eigentümer gleich eine ganz neue Maske setzen:
$ chmod u=rw test.ldif
Listing 14.5 Keine Ausführungsrechte mehr
-
- Der Eigentümer kann nun unabhängig vom vorherigen Rechtestatus der Datei diese lesen und auch schreiben.
Diese Beispiele sollten den intuitiven Charakter der symbolischen Notation verdeutlicht haben. Wenn man jedoch unterschiedliche Rechte für Eigentümer, Gruppe sowie »andere« setzen will, bietet sich des Weiteren die Oktalnotation an.
14.1.2 chown 

Eigentümer ändern
Wenn man besondere Rechte für den Eigentümer und die Gruppe festlegen kann, stellt sich natürlich die Frage, wie man einen neuen Eigentümer beziehungsweise eine neue Gruppe für eine Datei festlegen kann. Wie wir bereits erklärt haben, wird eine neue Datei immer als Eigentümer den Benutzer haben, der sie erstellt hat, und als Gruppe dessen GID. Aber gerade wenn man als Systemadministrator arbeitet und verschiedenen Benutzern neue Dateien zur Verfügung stellt, ist es wichtig, den Eigentümer jedes Mal entsprechend anpassen zu können.
Für diesen Zweck steht Ihnen das Tool chown (engl. change owner) zur Verfügung. Das Programm wird ähnlich wie chmod mit dem neuen Eigentümer und der betroffenen Datei als Argumente aufgerufen:
# ls -l ssc.h -rw------- 1 jwmp users 946 1999-05-21 14:12 ssc.h # chown steffen ssc.h # ls -l -rw------- 1 steffen users 946 1999-05-21 14:12 ssc.h
Listing 14.6 Den Eigentümer ändern
Gruppen ändern
Im Beispiel wird der Eigentümer von jwmp in steffen geändert. Möchte man auch die Gruppe ändern, so sollte man eine der folgenden Notationen verwenden:
- User:Gruppe
Wenn man einen Doppelpunkt, gefolgt von der neuen Gruppe, ohne Leerzeichen an den Benutzernamen anhängt, wird zusätzlich zum neuen Eigentümer auch die Gruppe verändert.
- :Gruppe
Möchte man nur die Gruppe ändern, so lässt man einfach den Benutzernamen weg und gibt stattdessen einen Doppelpunkt, gefolgt vom Gruppennamen, ein. Diese Notation verhindert also das Ändern des Eigentümers beim Setzen einer neuen Gruppe.
- User:
Im letzten Fall kann man die neue Gruppe der Datei auch auf die Login-Gruppe – also die in der Datei /etc/passwd angegebene GID – setzen. Dazu schreibt man nach dem Benutzernamen einfach nur einen Doppelpunkt ohne die explizite Angabe dieser Gruppe.
Statt mit den Benutzer- und Gruppennamen kann bei chown auch mit UIDs beziehungsweise GIDs gearbeitet werden. Allerdings kann bei den meisten Unix-Systemen aus Sicherheitsgründen nur root einen Eigentümer respektive auch eine neue Gruppe für Dateien festlegen.
chgrp
Ein einfaches Frontend
Ein einfacheres Frontend zum Ändern der Gruppe ist chgrp. Diesem Programm wird einfach die neue Gruppe als Argument übergeben. Oft werden so beim Ändern von Eigentümer und Gruppe einer Datei die Programme chown und chgrp nacheinander benutzt, anstatt den gesamten Vorgang gleich über einen chown-Aufruf zu erledigen.
Oft möchte man natürlich mehr als eine Datei ändern und entweder alle Dateien in einem Verzeichnis oder sogar ganze Verzeichnisstrukturen rekursiv ändern. Für alle – oder auch nur bestimmte – Dateien in einem Verzeichnis helfen logischerweise die bekannten Wildcards der Shell weiter. Für das rekursive Ändern von ganzen Verzeichnissen stellen jedoch alle Programme den Parameter -R bereit. Entsprechend muss natürlich ein Verzeichnis als Argument für chmod, chown oder chgrp angegeben werden. Aber Verzeichnisse werden unter Unix ja, was die Rechte anbelangt, wie normale Dateien behandelt.
14.1.3 Erweiterte Rechte 

Außer rwx gibt es auch noch weitere, ergänzende Rechte-Flags, die wir im Folgenden behandeln wollen. Konkret geht es dabei um das SetUID/SetGID-Flag sowie um das Sticky-Bit.
Das SetUID/SetGID-Flag
Programme mit Eigentümer- rechten
Dieses Flag ist eine Modifizierung des Execute-Bits: Programme mit dem Set- UID/SetGID-Flag haben die Möglichkeit, unter den Berechtigungen des Eigentümers beziehungsweise der Gruppe der Datei ausgeführt zu werden – auch wenn der Benutzer über diese Rechte normalerweise nicht verfügt.
Ein populäres Beispiel für diese erweiterten Rechte ist das passwd-Programm. Es soll einfachen Benutzern erlauben, ihr Passwort zu ändern, ohne dass diese Zugriff auf den Ort der Speicherung – die Datei /etc/shadow – haben müssen. Somit gehört das Programm dem Benutzer sowie der Gruppe root und hat das SetUID-Flag gesetzt, was man in der ls -l-Ausgabe am Buchstaben »s« erkennt:
$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 9616 Apr 4 4:39 /usr/bin/passwd
Listing 14.7 Programm mit dem SetUID-Flag: passwd
setuid()
Wird das Programm nun von einem einfachen User wie jploetner ausgeführt, so wird nach dem setuid()-Syscall des Programms die EUID des Prozesses auf »0« gesetzt, und das Programm kann auf die Datei /etc/shadow zugreifen und das Passwort für diesen Benutzer ändern.
Nur ganz besonders vertrauenswürdige Programme sollten mit dem SetUID/SetGID-Flag versehen werden, da ein Fehler in einem so privilegierten Programm das gesamte System kompromittieren kann. |
Ohne den setuid()-Syscall werden die erweiterten Rechte aus Sicherheitsgründen nicht aktiv. Erstens werden so verschiedene Attacken über Hardlinks oder Shellskripte verhindert und zweitens beschränkt diese Vorgehensweise die Nutzung der erweiterten Privilegien auf ein Minimum, was wiederum die Sicherheit erhöht.
Außerdem ist die Lösung eines solchen Problems »sauber«, da der Zugriff auf besonders geschützte Daten über ein vertrauenswürdiges Interface kanalisiert wird. Alternativ könnte man in diesem Beispiel dem Benutzer ein Lese- oder Schreibrecht auf die gesamte Datei geben, was dem Schutzgedanken jedoch deutlich widersprechen würde.
Mit chmod kann man diese Flags wie folgt setzen: Mit dem Parameter u+s setzt man das SetUID-Flag und mit g+s das SetGID-Flag. In der Oktaldarstellung setzt man noch eine weitere Zahl vor die drei Oktalzahlen: Addiert man zu dieser Zahl 22, so wird das SetUID-Flag gesetzt, und 21 setzt das SetGID-Flag.
$ chmod g+s test $ ls -l test -rwxr-sr-x 1 jploetner users 162 2005-05-08 20:41 test $ chmod 4755 test $ ls -l test -rwsr-xr-x 1 jploetner users 162 2005-05-08 20:41 test $ chmod 755 test $ ls -l test -rwxr-xr-x 1 jploetner users 162 2005-05-08 20:41 test
Listing 14.8 Das SetUID-Flag mit chmod setzen
Das Sticky-Bit
Sicherheit für Eigentümer
Das Sticky-Bit wird heutzutage meistens auf Verzeichnissen gesetzt: Durch diese Veränderung können dort nur root und der jeweilige Eigentümer Dateien löschen oder umbenennen. Ist das Sticky-Bit nicht gesetzt, könnte jeder Benutzer, der Schreibrechte auf das Verzeichnis besitzt, Dateien umbenennen oder auch löschen.
Aus diesem Grund werden vor allem alle schreibbaren Verzeichnisse wie /tmp mit dem Sticky-Bit versehen. In diesem Verzeichnis können Programme sowie Benutzer temporäre Dateien anlegen. Fatale Sicherheitsprobleme wären die Folge, wenn solche Dateien von anderen Benutzern einfach entfernt oder umbenannt werden könnten.
$ ls -ld /tmp
drwxrwxrwt 14 root root 4096 2005-05-24 23:33 /tmp
Listing 14.9 Das /tmp-Verzeichnis mit Sticky-Bit
Auf Dateien ist dieses Bit mittlerweile unüblich und wird je nach Unix-Derivat sogar ignoriert. Die Semantik war ursprünglich, dass ein entsprechender Prozess nicht auf den Swap-Bereich der Festplatte ausgelagert werden soll. Jedoch weiß das Betriebssystem in der Regel selbst am besten, was wann ausgelagert wird, und so wird das Bit in der Regel ignoriert.
Um das Sticky-Bit zu setzen, nutzen Sie wieder chmod: Als symbolischen Ausdruck wählen Sie entweder +t oder setzen in der oktalen Repräsentation in der vierten, zusätzlichen Zahl das 20-Bit:
$ ls -ld world drwxrwxrwx 2 jploetner users 48 2005-05-24 23:48 world $ chmod +t world $ ls -ld world drwxrwxrwt 2 jploetner users 48 2005-05-24 23:48 world $ chmod 777 world $ ls -ld world drwxrwxrwx 2 jploetner users 48 2005-05-24 23:48 world $ chmod 1777 world $ ls -ld world drwxrwxrwt 2 jploetner users 48 2005-05-24 23:48 world
Listing 14.10 Das Sticky-Bit setzen
14.1.4 umask 

Voreinstellungen für Rechte
Das letzte Rechte-Thema soll nun das umask-Tool sein, mit dem man Voreinstellungen für die Rechte neu angelegter Dateien setzen kann. Diese Rechte werden ähnlich wie bei chmod durch eine Oktettmaske von vier Zahlen repräsentiert. Jedoch ist diese Maske invertiert, das heißt, es werden alle durch umask gesetzten Rechte-Bits bei neuen Dateien nicht gesetzt und die damit verknüpften Rechte somit entzogen.
Mit anderen Worten würde eine umask von 0022 verhindern, dass bei neuen Dateien das Schreibrecht für die Gruppe und den Rest der Welt gesetzt werden würde. Die umask kann man mit dem gleichnamigen Konsolenprogramm verändern:
$ umask 0022 $ umask 0002 $ umask 0002
Listing 14.11 Die umask verändern
Um das ganze Vorgehen besser zu verstehen, wollen wir ein wenig unter die Haube schauen. Die umask ist eine Eigenschaft des Prozesses und kann über einen gleichnamigen Syscall verändert werden. Nichts anderes tut auch das kleine Shell-Builtin.
$ type umask
umask is a shell builtin
Listing 14.12 Programm oder Builtin?
Integration ins System
Diese Prozesseigenschaft wird nun aktiv, wenn Sie eine Datei mit dem open()-Syscall erstellen: Dort wird das diesem Syscall optional übergebbare mode-Argument intern mit der umask verknüpft, um so die Rechte einer neuen Datei zu bestimmen. Bei einem Standard-mode von 0666 und einer umask von 0022 würde eine Datei also mit den Rechten 0666 – 0022 = 0644, also rw-r–r–, angelegt. Aber natürlich hat der Programmierer einer Applikation die Möglichkeit, erstens das mode-Argument zu verändern und zweitens nach dem Aufruf direkt einen chmod()-Syscall zu machen, um die Rechte der eben mit den umask-Einschränkungen erstellten Datei zu ändern.
14.1.5 Access Control Lists 

Manchmal ist die Welt leider etwas zu kompliziert, um sie mit Unix-Rechten befriedigend abbilden zu können. Aus diesem Grund wurden für einige Dateisysteme wie beispielsweise XFS oder ext3 die sogenannten Access Control Lists, kurz ACLs, implementiert. Möchte man ACLs mit Ext2/Ext3-Dateisystemen nutzen, so benötigt man nur einen aktuellen 2.6er-Kernel. [Bei Kerneln der 2.4er-Reihe benötigte man noch einen speziellen Patch.]
Access Control Lists sind im Prinzip eine mächtige Erweiterung der Standardrechte. Stellen Sie sich vor, Sie hätten eine Firma mit einer Abteilung Rechnungswesen. Diese Abteilung darf natürlich auf eine Datei bzw. eine Datenbank mit den aktuellen Rechnungen zugreifen. Nun ist aber ein Mitarbeiter in Ungnade gefallen, und Sie möchten ihm das Zugriffsrecht für diese eine Datei entziehen, allerdings soll er weiterhin auf alle anderen Daten der Gruppe »Rechnungswesen« zugreifen dürfen. Mit Unix-Rechten ist diese Situation, wenn überhaupt, nur sehr kompliziert zu lösen, mit ACLs ist es jedoch so einfach wie mit chmod, ein Recht zu setzen. |
Bei ACLs werden die Rechte nicht mehr nur für den Eigentümer, die Gruppe und den Rest der Welt festgelegt. Vielmehr wird, wie der Name schon sagt, mit einer Art Liste der Zugriff für jeden Nutzer und jede Gruppe separat gesteuert.
ACLs aktivieren
Auch wenn der ACL-Support in aktuellen Kerneln bereits aktiviert ist, müssen je nach Distribution noch die Userland-Tools zum Arbeiten mit ACLs installiert werden. Meist heißt das entsprechende Paket schlicht acl, und nach der Installation muss der entsprechende Support als Option für das Mounten nur noch in der Datei /etc/fstab aktiviert werden:
/dev/hda3 /home ext3 defaults,acl 0 2
Nach einem Reboot beziehungsweise einem Remount der entsprechenden Partition können ACLs nun genutzt werden. Wichtig ist allerdings, dass ACLs vom Dateisystem unterstützt werden müssen, wie dies beispielsweise bei Ext3 der Fall ist.
ACLs setzen
Mit einem einfachen Aufruf des Programms setfacl aus den ACL-Tools kann man nun entsprechende Rechte für Benutzer beziehungsweise Gruppen setzen:
$ setfacl -m u:jploetner:--- test.txt $ setfacl -m g:autoren:rwx test.txt
Listing 14.13 ACL-Administration mit setfacl
In diesem Beispiel werden für die Datei test.txt zwei zusätzliche Rechte definiert. Dazu wird die Option -m genutzt, da man die Zugriffskontrollliste modifizieren möchte. Dem Benutzer (gekennzeichnet durch ein vorangestelltes u:) jploetner wurden alle Rechte auf die Datei explizit entzogen, da sie auf--- gesetzt worden sind, und der Gruppe (g:) autoren wurden alle Rechte gegeben.
Bevor wir uns damit beschäftigen, wie man die soeben gesetzten ACLs wieder betrachten kann, wollen wir zuerst einmal klären, wie die ACLs nun im System aktiv werden und ob das bisher konsistente Gesamtbild der Rechte durch dieses neue Feature gestört wird.
ACLs werden aktiv
Möchte nun also ein Benutzer auf eine Datei zugreifen, so werden zuerst die Standardrechte aktiv. Ist er der Besitzer der Datei, läuft alles wie gehabt. Andernfalls werden die ACLs gefragt, und es gilt: Die speziellste Regel greift. Ist also ein Eintrag für den Benutzer selbst vorhanden, so gilt dieser Eintrag. Ansonsten gilt der Eintrag der Gruppe, soweit einer vorhanden ist. Die Rechte aus der ACL können dabei aber nur so weit reichen, wie es die Standardgruppenrechte der Datei erlauben. Damit stehen also die normalen Unix-Rechte über den ACLs, und alles hat seine Ordnung. Und wenn schließlich kein spezieller Eintrag für den Benutzer oder seine Gruppe in der ACL existiert, werden wie bisher die Vorgaben für den Rest der Welt bindend.
ACLs abfragen
Eine ACL für eine bestimmte Datei oder ein bestimmtes Verzeichnis kann man sich mit getfacl <Datei> ähnlich wie bei ls -l <Datei> ansehen.
Um eine tabellarische Auflistung zu erhalten, können Sie den Parameter –tabular verwenden. |
$ getfacl file.txt
#file:file.txt
#owner:jploetner
#group:users
user::rw-
user:swendzel:rw-
group::r--
mask::rw-
other::---
Listing 14.14 getfacl
Hier im Beispiel hat also der Benutzer swendzel noch ein explizit angegebenes Schreibrecht. Ansonsten sieht man die normalen Eigentümer- und Gruppenrechte sowie die sonstigen Rechte und die durch die Gruppenrechte gegebene effektive Maske für die ACLs. |
Neue Versionen der GNU-binutils können ebenfalls mit ACLs umgehen. [Die meisten Distributionen liefern ihre binutils schon mit einkompiliertem ACL-Support aus, hier ist also keine Handarbeit notwendig.] So zeigt ls beim langen Listing ein Plus nach den Rechten an, wenn ACLs vergeben wurden:
$ ls -l file.txt
-rw-rw----+ 1 jploetner users 36 Jun 21 13:56 file.txt
Listing 14.15 ACLs und ls
Mit diesem kleinen Ausblick wollen wir die Rechteverwaltung abschließen. Als Nächstes erläutern wir eine weitere wichtige Verwaltungsaufgabe: Die Installation von Software.