Datei- und Verzeichnisrechte

Aus Synology Wiki
Dies ist die aktuellste Version dieser Seite. Sie hat keine bestätigte Version.

Klassen

Für jede Datei und jedes Verzeichnis gibt es eine Regelung der Zugriffsrechte. Die Rechte werden in folgende Klassen unterteilt

  • Eigentümer (englisch user) - UID manchmal auch User ID
  • Gruppe (englisch group) - GID manchmal auch Group ID
  • Sonstige (englisch others)

Basisrechte

Jede der drei Klassen kann eines oder mehrere der folgenden Basisrechte zugewiesen bekommen:

  • Lesen (englisch read)
  • Schreiben (englisch write)
  • Ausführen (englisch execute)

Sonderrechte

Sonderrechte sind erweiterte Rechte für Dateien oder Verzeichnisse. Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden zusätzlich zu den Rechten des ausführenden Benutzers mit den Rechten des Benutzers bzw. der Gruppe ausgeführt, der die Datei bzw. das Programm gehört. Das Sticky-Bit wirkt sich auf Verzeichnisse und Dateien unterschiedlich aus.

  • Setuid (Set User ID manchmal auch SUID)
  • Setgid (Set Group ID, manchmal auch SGID)
  • Sticky Bit (auch t-Bit oder Save Text Bit)

Oktalnotation

Eine Oktalnotation besteht aus einer drei- oder vierstelligen Oktalzahl. Jede Ziffer steht für eine Klasse in der Reihenfolge Eigentümer, Gruppe, Sonstige. Eine Ziffer entspricht der Summe der drei Rechte:

  • 1 für Ausführen (execute)
  • 2 für Schreiben (write)
  • 4 für Lesen (read)

Jede Kombinationsmöglichkeit ergibt eine andere Ziffer. 0 als Sonderfall bedeutet, dass die Benutzerklasse keine Rechte an dem Objekt hat.

Beispiel:

  • 0 Keine Rechte
  • 1 Ausführen
  • 2 Schreiben
  • 3 Schreiben und ausführen
  • 4 Lesen
  • 5 Lesen und ausführen
  • 6 Lesen und schreiben
  • 7 Lesen, schreiben, ausführen
Eigentümer Gruppe Sonstige
Leserecht 4 4 0
Schreibrecht 2 0 0
Ausführungsrecht 1 1 0
7 5 0 = 750

Symbolische Notation

Im Gegensatz zur Oktalnotation werden die Klassen in der Reihenfolge Eigentümer, Gruppe, Sonstige nicht durch Ziffern, sondern durch ein sogenanntes Zeichentriplet gebildet.

  • r für Lesen (read) - steht an erster Stelle des Zeichentriplets
  • w für Schreiben (write) - steht an zweiter Stelle des Zeichentriplets
  • x für Ausführen (execute) - steht an dritter Stelle des Zeichentriplets

Jede Kombinationsmöglichkeit hat ein anderes Zeichentriplet zur Folge. - als Sonderfall bedeutet dabei, dass kein Recht vergeben wurde.

Beispiel:

  • --- Keine Rechte
  • r-- Lesen
  • -w- Schreiben
  • -x- Ausführen
  • -wx Schreiben und ausführen
  • r-x Lesen und ausführen
  • rw- Lesen und schreiben
  • rwx Lesen, schreiben, ausführen
Eigentümer Gruppe Sonstige
Leserecht r-- r-- ---
Schreibrecht -w- --- ---
Ausführungsrecht --x --x ---
rwx r-x --- rwxr-x---

Zugriffsrechte von Dateien und Verzeichnissen ändern

chmod

Mit dem Programm chmod können die Zugriffsrechte von Dateien und Verzeichnissen verändert werden.

Syntax: chmod [OPTIONEN] [DATEI-ODER-VERZEICHNIS]

  • -R Ändert die Zugriffsrechte von Dateien und Verzeichnissen rekursiv, d.h. auch für Unterverzeichnisse und darin enthaltene Dateien.
  • -v Ausgabe einer Diagnose für jede verarbeitete Datei

Modi von chmod

Zugriffsrechte können mit chmod auf zwei Arten gesetzt werden, entweder im symbolischen oder im oktalen Modus. In den Modi müssen die drei verschiedenen Benutzerkategorien wie folgt angegeben werden.

Symbolischer Modus Oktalmodus
Eigentümer u 1. Ziffer
Gruppe g 2. Ziffer
Sonstige o 3. Ziffer
Eigentümer, Gruppe und Sonstige a

chmod - Symbolischer Modus

Beim symbolischen Modus sind drei Teile anzugeben:

Syntax: chmod [OPTIONEN] [BBENUTZERTYP][OPERATOR][RECHTE] [DATEI-ODER-VERZEICHNIS]

Beispiel:

chmod a+rwx datei.txt

Benutzertyp

Es können mehrere Buchstaben kombiniert werden (z. B. ug für Benutzer und Gruppe) Ist kein Benutzertyp angegeben, wird a für Alle angenommen, mit der Ausnahme, dass in der umask gesetzte Bits ignoriert werden.

Operator

  • mit + werden die Rechte gesetzt
  • mit - werden die Rechte entzogen
  • mit = werden nur die explizit angegebenen Rechte gesetzt und die restlichen entzogen.

Rechte

Auch hier können die jeweiligen Buchstaben r,w und/oder x einfach aneinander gehängt werden.

Beispiele:

  • Eine Datei für alle Nutzer ausführbar machen.
    • chmod a+x ...oder... ugo+x [DATEI-ODER-VERZEICHNIS]
  • Der Gruppe werden die Schreibrechte entzogen.
    • chmod g-w [DATEI-ODER-VERZEICHNIS]
  • Andere Benutzer dürfen nur lesen, nicht schreiben oder ausführen.
    • chmod o=r [DATEI-ODER-VERZEICHNIS]

chmod Oktal-Modus

Die Rechte werden für den Eigentümer, die Gruppe und Sonstige getrennt aufsummiert. An jeder Stelle bedeutet ein gesetzter Wert, dass die Rechte gewährt werden und eine 0, dass sie entzogen werden. Die Rechte werden also durch drei Stellen vollständig beschrieben, wobei die erste Stelle die Rechte des Besitzers, die zweite Stelle die Rechte der Gruppe und die letzte Stelle die Rechte aller anderen angibt.

Beispiele:

  • Der Eigentümer darf lesen und schreiben, alle anderen nur lesen.
    • chmod 644 [DATEI-ODER-VERZEICHNIS]
  • Alle dürfen lesen und ausführen, der Eigentümer auch schreiben.
    • chmod 755 [DATEI-ODER-VERZEICHNIS]