Hände weg von fremdem Eigentum

»Keine Berechtigung« - nur Root darf (fast) alles Weiter

Vielleicht hat man beim Nachvollziehen der Beispiele aus den vorangegangenen Abschnitten schon Bekanntschaft mit Ausgaben wie »permission denied« geschlossen. Wenn nicht, wechselt man z.B. ins root-Verzeichnis und versucht einmal, eine Datei in diesem anzulegen.

user@sonne> cd /
user@sonne> touch example
touch: example: permission denied

Der Grund hierfür ist, dass alles (Prozesse, Dateien, Verzeichnisse...) in Linux einen Besitzer hat und dieser bestimmt, wer was damit tun und wer gefälligst was zu unterlassen hat. Ausnahme ist hier wieder einmal der Oberboss - also root -, der über alles sein Zepter schwingt und die üblichen Gesetze zu seinen Gunsten außer Kraft setzen kann. Betrachten wir drei typische Einträge aus einem Verzeichnis, so wie sie vom Kommando »ls« in Verbindung mit der Option »-l« dargestellt werden:

user@sonne> ls -l
lrwxrwxrwx    1   root   root          8  Aug 11 18:40   asm -> asm-i386
-rw-------    1   user   users      8139  Oct 13 07:53   av2.txt
drwxr-xr-x   16   user   users      1024  Oct 19 21:39   tmp

 

Der Typ einer Datei Zurück Anfang Weiter

Interessant ist in obiger Ausgabe die erste Kolonne, die die jeweiligen Zugriffsrechte angibt. Das erste Zeichen gibt dabei den Typ der Datei an:

Symbol Bedeutung
- Alles, außer das Nachfolgende (»normale« Datei)
b Blockorientiertes Gerät (Device)
c Zeichenorientiertes Gerät
d Verzeichnis
l Symbolischer Link (Verweis)
p FIFO-Datei (named pipe)
s Unix domain socket

Es existieren drei Gruppen von Rechten Zurück Anfang Weiter

Es folgen drei Gruppen zu je drei Spalten, die die Rechte

-rwxrwxrwx des Eigentümers,
-rwxrwxrwx der Gruppe und
-rwxrwxrwx der anderen

(in der angegebenen Reihenfolge) bezeichnen:

Symbol Bedeutung
r Datei darf gelesen werden
w Datei darf geschrieben werden
x Datei darf ausgeführt werden (Binary, Shell-Skript)

Theoretisch sind alle Kombinationen der Zugriffsrechte denkbar, aber der Eigentümer einer Datei darf diese immer lesen, selbst wenn das Lesebit nicht gesetzt ist. Genauso macht es wenig Sinn, eine gewöhnliche Textdatei als ausführbar zu setzen; die Shell wird damit nichts anfangen können. Ein »x« für ein Verzeichnis gibt an, dass in dieses gewechselt werden kann.

Rechte sind verbindlich Zurück Anfang

Interessant ist auch ein Konstrukt folgender Art:

-rwx---rwx

das angibt, dass mit der Datei alles angestellt werden kann, außer durch Nutzer derselben Gruppe. Versucht irgendjemand, der nicht der Gruppe des Eigentümers angehört, die Datei zu modifizieren, wird ihm dies gelingen, einem Gruppenmitglied bleibt dies versagt, obwohl es ja gleichzeitig ein »Anderer« ist. D.h. die Rechte der Gruppe sind verbindlicher, als die Rechte der anderen!

Zwei weitere Zugriffsrechte mit Sonderbedeutungen werden im Abschnitt Systemadministration, Zugriffsrechte beschrieben.