next up previous contents
Nächste Seite: Die Prozessverwaltung Aufwärts: Das Dateisystem Vorherige Seite: Umgang mit Dateien   Inhalt


Eigentümer, Gruppen und andere Nutzer

Natürlich darf nicht jeder Benutzer eines Unixsystems alle Dateien manipulieren. Die entsprechenden Rechte werden über Attribute der Dateien verwaltet. Wir betrachten dazu die Ausgabe des -Kommandos mit den Optionen . Die Option bewirkt gewöhnlich die Ausgabe der zugehörigen Gruppe. In unserem Linux ist diese Option schon implizit in der Option enthalten.
svr50> cd
svr50> ls -l
total 2
-rwxr-x---  1 hansen edv1          9 Sep 29 17:20 clean
drwxr-xr-x  2 hansen edv1        512 Oct 29 18:39 texte
svr50>

Die Ausgabe des Kommandos bedeutet im einzelnen folgendes:

Für die Zugriffsrechte muss man die folgenden drei Benutzerklassen unterscheiden:
-rwxr-xr--   1 hansen edv1    75858 Jun 18 15:13 linux.tex
-rw-rw-r--   1 hansen edv1    64575 Jun 17 13:32 aufgabe.txt
lrwxrwxrwx   1 hansen edv1     1024 May 12 11:38 edv -> /home/stokes/EDV1/
drwxr-x--x   1 hansen edv1    64575 Jun 17 13:32 public
       |||other
    |||group
 |||user
|Dateiart
Für jede dieser drei Benutzerklassen werden drei verschiedene Zugriffsrechte gesetzt: Insgesamt können also 9 Zugriffsrechte pro Datei gesetzt werden. Diese Zugriffsrechte gibt es für alle Dateien, also auch für Gerätedateien und Verzeichnisse. Mit der Vergabe von Rechten sollte aus Gründen des Datenschutzes und der Datensicherheit sehr vorsichtig umgegangen werden. An der Ausgabe des Kommandos im obigen Beispiel kann man die Zugriffsrechte ablesen. Die ersten drei Bits zeigen die Rechte des Eigentümers, die mittleren die Rechte der Gruppenmitglieder und die letzten drei Bits die Rechte aller anderen Benutzer an. Die Datei besitzt z.B. als protection mode . Dies bedeutet, dass der Eigentümer (also hansen) diese Datei lesen, auf ihr schreiben und sie ausführen darf. Alle Gruppenmitglieder der Benutzergruppe edv1 dürfen diese Datei nur lesen oder ausführen. Andere Benutzer dürfen auf diese Datei nur lesend zugreifen.

Die Zugriffsrechte auf Verzeichnisse stellen eine Spezialität dar. Die protection bits sind gleich denen von normalen Dateien, jedoch besitzen die Zugriffsrechte eine etwas andere Bedeutung:

Mit dem Kommando (change mode) kann der Eigentümer einer Datei die Zugriffsrechte dieser Datei ändern. Für dieses Kommando gibt es zwei syntaktisch verschiedene Formen, die aus verschiedenen Unix-,,Dialekten`` herrühren:
\fbox{{\tt chmod} {\it permissionlist datei ...}}
oder
\fbox{{\tt chmod} {\it ooo datei ...}}
Im ersten Fall gibt der Benutzer eine permissionlist und den Namen der Datei an, deren protection mode geändert werden soll, und zwar durch gezieltes Hinzufügen oder Wegnehmen von Zugriffsrechten einzelner Benutzerklassen.

Die permissionlist hat dabei folgende Form: benutzerklasse $\pm$ rechte. Als Benutzerklasse ist außer den drei bekannten (u, g und o) noch eine Sammelklasse a (all) möglich. Beispiel:

svr50> ls -l
total 2
-rwxr-xr--  1 hansen edv1         9 Sep 29 15:22 clean
drwxr-xr-x  2 hansen edv1       512 Sep 29 15:38 texte
svr50> chmod o-r clean
svr50> chmod go-rx texte
svr50> ls -l
total 2
-rwxr-x---  1 hansen edv1         9 Sep 29 15:22 clean
drwx------  2 hansen edv1       512 Sep 29 15:38 texte
svr50>
In der zweiten Form des Kommandos wird der protection mode als ganzer neu gesetzt. Dabei steht ooo für eine dreistellige Oktalzahl, die als Binärzahl, s. Kapitel 5, gelesen genau dort die Einsen hat, wo das entsprechende Zugriffsrecht gesetzt sein soll. Beispiel:
svr50> chmod 754 clean
svr50> ls -l
total 2
-rwxr-xr--  1 hansen edv1         9 Sep 29 15:22 clean
drwx------  2 hansen edv1       512 Sep 29 15:38 texte
svr50>
Die Oktalzahl 754 lautet in Binärdarstellung , was genau den Zugriffsrechten der Datei clean entspricht.

Bei jeder Erstellung einer Datei werden automatisch vom System voreingestellte protection bits gesetzt. Diese Voreinstellung kann und sollte vom Benutzer bei Sitzungsbeginn auf seine eigenen Bedürfnisse hin mit dem Kommando (user mask) geändert werden.
\fbox{{\tt umask} [{\it ooo}]}
ooo ist hierbei wieder eine Oktalzahl, die allerdings etwas anders wirkt als beim Kommando . Die Bits, die in der Maske bestimmt sind, werden beim anlegen der Datei gerade nicht gesetzt. Man bestimmt also, welche Rechte nicht gewährt werden sollen. Beispiel:

svr50> umask 177
svr50> cp clean testdatei
svr50> ls -l
total 3
-rwxr-xr--  1 hansen edv1         9 Sep 29 15:22 clean
-rw-------  1 hansen edv1         9 Sep 29 15:54 testdatei
drwx------  2 hansen edv1       512 Sep 29 15:38 texte
svr50> umask
177
svr50>
Jede von diesem Zeitpunkt an erzeugte Datei wird read- und write-Berechtigung für den Eigentümer besitzen, andere Benutzer haben überhaupt keine Zugriffsrechte. Das Kommando ohne Argument liefert die momentan gültige Einstellung der Maske.

Es sei hier nocheinmal auf den Systemadministrator `root' verwiesen. Für ihn gelten die Einschränkungen bezüglich der Zugriffsrechte auf Dateien nicht. Er kann sich im gesamten Verzeichnisbaum bewegen, Dateien lesen, verschieben oder auch löschen. Mit dem Passwort für root hat man also umfassende Kontrolle über das System, was zur Aufrechterhaltung eines ungestörten Betriebs des Systems sicher notwendig ist, aber auch eine Missbrauchsgefahr darstellt.


next up previous contents
Nächste Seite: Die Prozessverwaltung Aufwärts: Das Dateisystem Vorherige Seite: Umgang mit Dateien   Inhalt
Lars Tornow 2003-04-02