Rechte - Bedeutung und Änderung

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
Deutsch.png - in German English.png - in English

Standardrechte

Unter Linux sind jeder Datei und jedem Ordner drei Rechteebenen zugeordnet. Sie gelten für

  • Eigentümer
  • Gruppe
  • Alle anderen (auch "Rest der Welt" genannt)

Jeder dieser Ebenen lassen sich gesonderte Rechte zuordnen. Diese Rechte sind:

  • r wie „read“ für das Leserecht
  • w wie „write“ für das Schreibrecht
  • x wie „execute“ für das Recht, eine Datei auszuführen (bei Verzeichnissen bedeutet das x, dass das Verzeichnis geöffnet werden darf).

Wer mit ls -l den Inhalt eines Linux-Verzeichnisses anzeigen lässt, sieht links die Dateirechte, beispielsweise „rwxrw-r--". Diese Rechte gelten von links nach rechts gelesen für den Eigentümer einer Datei „rwx“, für die Gruppe „rw-" und für die anderen Benutzer „r--". Falls an erster Stelle ein „d“ steht, handelt es sich um ein Verzeichnis.

Diese Rechte lassen sich auch in (Oktal-) Zahlen ausdrücken. Dabei steht jeweils eine Ziffer für eine Rechteebene, die erste Ziffer für den Eigentümer, die zweite für die Gruppe und die dritte für alle anderen.

Die Ziffer selbst ergibt sich aus den genehmigten Rechten:

  • r = 4
  • w = 2
  • x = 1

Die gegebenen Rechte werden einfach zusammengezählt.

Beispiel: Soll der Eigentümer die Datei lesen, schreiben und ausführen dürfen, so addiert man 4 + 2 + 1 und erhält 7. Soll die Gruppe die Datei nur ansehen und ausführen dürfen, so ergibt 4 + 1 die 5. Und die anderen dürfen gar nichts, haben also die 0. So ergibt sich in diesem Beispiel für die Dateirechte die 750. Und die kann man mit dem Befehl chmod in Linux setzen.

Damit ergibt sich folgende Struktur:

Lesen Schreiben Ausführen Lesen, Schreiben Lesen, Ausführen Lesen, Schreiben, Ausführen
rwx Notation r-- -w- --x rw- r-x rwx
Oktalnotation 4 2 1 4+2=6 4+1=5 4+2+1=7

Sonderrechte

Häufig steht links vor den drei Ziffern an erster Stelle noch eine vierte. Die setzt diese Attribute

  • 4 für "SUID" (auch "Set User ID" oder "Setuid" genannt)
Wenn dieses Bit gesetzt ist, dann gelten Sonderrechte beim Ausführen von Programmdateien. Das Programm wird mit den Benutzerrechten ausgeführt, die in der Datei hinterlegt sind. Es gelten also die Rechte des Dateieigentümers! Die Rechte des eigentlichen Benutzers, der den Befehl in die shell eingibt, sind hierbei nicht relevant. Mit dieser Möglichkeit, können Benutzer z.B. Programme ausführen, die sonst nur root starten dürfte.
  • 2 für "SGID" (auch "Set Group ID" oder "Setgid" genannt)
Wenn dieses Bit gesetzt ist, dann gelten Sonderrechte für Verzeichnisse. Legt ein Benutzer eine Datei in diesem Verzeichnis an, dann wird als Gruppenname der Name des als "SGID" markierten Gruppe eingetragen. Dabei ist nicht relevant, zu welcher Gruppe der Benutzer gehört, der gerade eine Datei dort erstellt.
  • 1 für "Sticky-Bit" (auch "t-Bit" genannt)
Wenn dieses Bit gesetzt ist, dann gelten Sonderrechte für Dateien in Verzeichnissen. Alle Benutzer dürfen Dateien hier anlegen. Aber nur jeweils diese Benutzer dürfen ihre eigenen Dateien wieder löschen. Diese Technik wird oft für /tmp eingesetzt.

In Samba bleibt diese Ziffer meist bei 0. Mehr zu den Attributen verrät die Dokumentation „man chmod“.

Änderungen der Rechte

Eigentümer und Gruppe einer Datei oder eines Ordners lassen sich mit den Befehlen chown und chgrp ändern. Mehr dazu verraten die entsprechenden man-Einträge.

Die Rechte können mit einem Kommandozeilen Programm via SSH oder auch Telnet bearbeitet werden.

Weiterlesen

  • chmod bei ubuntuusers.de mit Tiefergehenden Informationen