9.2. Grundsätzliches über Dateien

Auch beim Umgang mit Dateien unterscheidet sich Linux stark von Windows. Wir werden in diesem Abschnitt lediglich auf die unmittelbar auffälligen Unterschiede einhgehen.

Unix hat ein ausgeklügeltes System von Dateirechten. Das heißt u.a., dass jeder Benutzer nicht nur sein eigenes Verzeichnis (das Heim-Verzeichnis) sondern auch seine Dateien besitzt (im wahrsten Sinn des Wortes).

Zusätzlich sind für jede Datei Berechtigungen definiert, die nur der Besitzer der Datei ändern kann. Diese Berechtigungen unterscheiden drei Kategorien von Benutzern: den Besitzer der Datei, die Mitglieder der Gruppe, der diese Datei zugeordnet ist und die Anderen. Darunter fallen alle Benutzer, die weder Besitzer, noch Mitglied der Besitzergruppe sind.

Es gibt drei Arten von Berechtigungen:

  1. Leseberechtigung (r für engl. Read, ,,lesen``): Erlaubt das Lesen einer Datei. Bei einem Verzeichnis erlaubt sie die Auflistung des Inhalts, sofern auch die Berechtigung zum Ausführen gesetzt ist;

  2. Schreibberechtigung (w für engl. Write, ,,schreiben``): Erlaubt die Änderung des Datei-Inhalts. Innerhalb eines Verzeichnisses erlaubt sie die Veränderung oder Löschung von Dateien, selbst wenn der Ausführende nicht der Besitzer der Datei ist;

  3. Berechtigung zum Ausführen (x für engl. eXecute, ,,ausführen``): Diese erlaubt das Ausführen einer Datei (und sollte daher auch nur bei ausführbaren Dateien gesetzt werden). Bei Verzeichnissen erlaubt sie das Betreten, bzw. die ,,Durchquerung der selben`` (also Zugriff auf das Verzeichnis und dessen Unterverzeichnisse).

Jede Kombination dieser Berechtigungen ist möglich. Sie können sich beispielsweise das alleinige Leserecht einer Datei erteilen und sie allen anderen Benutzern verweigern. Sie können sogar das Gegenteil tun (zugegebenermaßen, nicht gerade logisch, aber möglich :-)) Als Besitzer der Datei können Sie auch deren Besitzergruppe ändern (allerdings nur wenn Sie auch Mitglied der neuen Gruppe sind) oder gar die Besitzerrechte einem anderen geben. Wenn Sie dies tun, verlieren Sie allerdings sie Eigentums-Rechte daran...

Nehmen Sie eine Datei und ein Verzeichnis als Beispiel. Hier sehen Sie die Ausführung des Befehls ls -l auf einer Kommandozeile:

[franz@linuxbox] ~ $ ls -l 
total 1
-rw-r-----   1 franz    users           0 Jul  8 14:11 eine_datei
drwxr-xr--   2 gustav   users        1024 Jul  8 14:11 ein_verzeichnis/
[franz@linuxbox] ~ $ 

Die Ausgabefelder haben folgende Bedeutung (von links nach rechts):

Werfen Sie nun einen genaueren Blick auf die Berechtigungen in unserem Beispiel: denken Sie sich das erste Zeichen für den Dateityp weg und Sie erhalten die Rechte ,,rw-r-----``. Das heißt:

Für das Verzeichnis lauten die Rechte (hier ohne das führende ,,d``) ,,rwxr-xr--``, also:

Eine Ausnahme gibt es jedoch: Der Systemadministrator mit dem privilegierten Benutzerkennzeichen root kann die Attribute aller Dateien (und Verzeichnisse) verändern, selbst wenn er nicht deren Besitzer ist. Er kann sich also als einziger selbst die Besitzrechte über eine existierende Datei zuschreiben. Er darf Dateien lesen, für die er keine Leseberechtigung hat, alle Verzeichnisse durchqueren usw. Selbst wenn er nicht die nötigen Berechtigungen haben sollte, kann er sie sich ganz einfach verschaffen.

Ein weiterer Unterschied zu Windows besteht in den Möglichkeiten zur Vergabe von Dateinamen:


Tux on Star from MandrakeSoft Linux ist ein eingetragenes Warenzeichen von Linus Torvalds. Alle anderen Warenzeichen und Copyrights sind das Eigentum ihrer Inhaber.
Sofern nichts anderes Angaben ist, unterliegen die Inhalte der Seiten sowie alle Bilder dem Copyright von MandrakeSoft S.A. und MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/