7.3. Dateizugriffsberechtigungen

In Linux gehören Objekte wie Dateien oder Ordner oder Prozesse dem Benutzer, der sie erstellt oder initiiert hat. Zu dieser Regel gibt es einige Ausnahmen. Weitere Informationen zu den Ausnahmen finden Sie unter Kapitel Zugriffssteuerungslisten unter Linux (↑Referenz). Die Gruppe, die mit einer Datei oder einem Ordner verbunden ist, hängt von der primären Gruppe ab, der ein Benutzer beim Erstellen des Objekts angehört.

Wenn Sie eine neue Datei oder ein neues Verzeichnis anlegen, werden die anfänglichen Zugriffsrechte für dieses Objekt nach einem vordefinierten Schema festgelegt. Als Eigentümer einer Datei bzw. eines Verzeichnisses können Sie die Zugriffsberechtigungen für dieses Objekt ändern. Sie können beispielsweise andere Benutzer daran hindern, auf Dateien mit vertraulichen Daten zuzugreifen. Andererseits können Sie den Mitgliedern Ihrer Gruppe oder anderen Benutzern im Bedarfsfall Schreib-, Lese- und Ausführrechte für bestimmte Dateien in Ihrem Besitz erteilen. Als root können Sie auch den Eigentümer von Dateien oder Ordnern ändern.

7.3.1. Berechtigungen für Benutzer, Gruppe und andere

Für jedes Dateiobjekt sind unter Linux drei Berechtigungsgruppen definiert. Diese Gruppen enthalten die Berechtigungen zum Lesen, Schreiben und Ausführen für den Eigentümer der Datei, die Gruppe und andere Benutzer. Sie können die Zugriffsberechtigungen für eine Datei oder einen Ordner in den Dateimanagern Ihres Desktops wie unter Abschnitt „Changing Access Permissions“ (Kapitel 1, Getting Started with the KDE Desktop, ↑KDE User Guide) beschrieben oder in einer Shell ändern (siehe Abschnitt 8.5, „Bearbeiten von Dateiberechtigungen“).

Abbildung 7.4. Dateizugriffsberechtigungen in der KDE-Dateiverwaltung

Dateizugriffsberechtigungen in der KDE-Dateiverwaltung

Das folgende Beispiel zeigt ein Beispiel der Ausgabe für den Befehl ls -l in einer Shell. Dieser Befehl listet den Inhalt eines Verzeichnisses auf und zeigt die Details für jede Datei und jeden Ordner in diesem Verzeichnis.

Beispiel 7.1. Zugriffsrechte für Dateien und Ordner

-rw-r----- 1 tux users      0 2006-06-23 16:08 checklist.txt
-rw-r--r-- 1 tux users  53279 2006-06-21 13:16 gnome_quick.xml
-rw-rw---- 1 tux users      0 2006-06-23 16:08 index.htm
-rw-r--r-- 1 tux users  70733 2006-06-21 09:35 kde-start.xml
-rw-r--r-- 1 tux users  47896 2006-06-21 09:46 kde_quick.xml
drwxr-xr-x 2 tux users     48 2006-06-23 16:09 local
-r-xr-xr-x 1 tux users 624398 2006-06-23 15:43 tux.jpg

Wie aus der dritten Spalte hervorgeht, gehören alle Objekte dem Benutzer tux. Sie sind der Gruppe users zugewiesen, die die primäre Gruppe ist, welcher der Benutzer tux angehört. Zum Ermitteln der Zugriffsberechtigungen muss die erste Spalte der Liste näher geprüft werden. Sehen wir uns die Datei kde-start.xml an:

Typ

Benutzerberechtigungen

Gruppenberechtigungen

Berechtigungen für andere

-

rw-

r--

r--

Die erste Spalte der Liste besteht aus einem vorangestellten Zeichen, auf das neun in Dreierblöcke gegliederte Zeichen folgen. Das vorangestellte Zeichen gibt Aufschluss über den Dateityp des Objekts: In diesem gibt der Bindestrich () an, dass es sich bei kde-start.xml um eine Datei handelt. Wenn Sie stattdessen das Zeichen d finden, besagt dies, dass das Objekt ein Verzeichnis ist (wie local im obigen Beispiel). Die nächsten drei Blöcke zeigen die Zugriffsberechtigungen für den Eigentümer, die Gruppe und andere Benutzer (von links nach rechts). Jeder Block folgt demselben Muster: Die erste Position zeigt die Leseberechtigung (r), die nächste Position zeigt die Schreibberechtigung (w) und die letzte Position zeigt die Ausführungsberechtigung (x). Eine fehlende Berechtigung wird durch - gekennzeichnet. Im obigen Beispiel verfügt der Eigentümer der Datei kde-start.xml über Lese- und Schreibzugriff auf die Datei, kann die Datei aber nicht ausführen. Die Gruppe users kann die Datei lesen, aber nicht schreiben oder ausführen. Dasselbe gilt für die anderen Benutzer wie im dritten Zeichenblock gezeigt.

7.3.2. Dateien und Ordner

Die geringfügig unterschiedliche Wirkung von Zugriffsberechtigungen hängt vom betreffenden Objekttyp ab: Datei oder Verzeichnis. Die folgende Tabelle zeigt Einzelheiten:

Tabelle 7.2. Zugriffsberechtigungen für Dateien und Verzeichnisse

Zugriffsberechtigung

Datei

Ordner

Lesen (r)

Benutzer können die Datei öffnen und lesen.

Benutzer können den Inhalt des Verzeichnisses anzeigen. Ohne diese Berechtigung können Benutzer beispielsweise den Inhalt dieses Verzeichnisses mit ls -l nicht auflisten. Wenn sie jedoch über Ausführungsberechtigung für das Verzeichnis verfügen, können sie dennoch auf bestimmte Dateien in diesem Verzeichnis zugreifen, sofern sie von deren Existenz wissen.

Schreiben (w)

Die Benutzer können die Datei ändern: Sie können Daten hinzufügen oder verwerfen und sogar den Inhalt der Datei löschen. Jedoch umfasst dies nicht die Berechtigung, die Datei vollständig aus dem Verzeichnis zu entfernen, sofern sie nicht über Schreibberechtigung für das Verzeichnis verfügen, in dem sich die Datei befindet.

Benutzer können Dateien im Verzeichnis erstellen, umbenennen oder löschen.

Ausführen (x)

Benutzer können die Datei ausführen. Diese Berechtigung ist nur relevant für Dateien wie Programme oder Shell-Skripten, nicht für Textdateien. Wenn das Betriebssystem die Datei direkt ausführen kann, brauchen Benutzer keine Leseberechtigung zum Ausführen der Datei. Wenn die Datei jedoch wie ein Shell-Skript oder ein Perl-Programm interpretiert werden muss, ist zusätzlich die Leseberechtigung erforderlich.

Benutzer können in das Verzeichnis wechseln und Dateien dort ausführen. Wenn sie über keinen Lesezugriff auf dieses Verzeichnis verfügen, können sie die Dateien nicht auflisten, aber dennoch auf sie zugreifen, falls sie von deren Existenz wissen.


Beachten Sie, dass der Zugriff auf eine bestimmte Datei immer von der korrekten Kombination von Zugriffsberechtigungen für die Datei selbst und das Verzeichnis abhängt, in dem sie sich befindet.