1.2 Grundsätzliches über Dateien

Auch beim Umgang mit Dateien unterscheidet sich GNU/Linux stark von Windows und den meisten anderen Betriebssystemen. Wir werden in diesem Abschnitt lediglich auf die unmittelbar auffälligen Unterschiede eingehen. Für weitere Einzelheiten lesen Sie bitte das Kapitel ,,Das GNU/Linux Dateisystem: ext2fs``.

Der erste und wahrscheinlich wichtigste Unterschied ist eine Folge davon, dass GNU/Linux ein Mehrbenutzersystem ist: jede Datei hat einen eindeutigen Besitzer und eine Besitzergruppe. Ebenso hat jeder Benutzer sein eigenes Verzeichnis (das Heim-Verzeichnis). Alle Dateien die er darin anlegt gehören ihm.

Es wäre jedoch nicht sehr hilfreich wenn die Eigentumsverhältnisse der einzige Unterschied zu klassischen Dateisystemen wäre. Zusätzlich sind für jede Datei Rechte definiert, die nur der Besitzer der Datei ändern kann. Diese Berechtigungen unterscheiden zwischen 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 des Verzeichnis ist (wohl aber der Besitzer der Dateien);

  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 die Besitzrechte 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 franzusers 0 Jul8 14:11 eine_datei
drwxr-xr-- 2 birgit users1024 Jul8 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.

Letztendlich soll hier auch der Unterschied zwischen der Unix- und der Windows-Welt in den Möglichkeiten zur Vergabe von Dateinamen erwähnt werden. Unix erlaubt eine wesentlich größere Flexibilität und weniger Beschränkungen:


[Tux vor dem MandrakeSoft Stern] 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. 2002.
http://www.mandrakelinux.com/