Rechteverwaltung unter Linux

Aus unkompliziert.eu
Version vom 11. April 2020, 08:31 Uhr von Felix (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<h1>Rechte im Dateisystem</h1> <h2>Bedeutung von <code>rwx</code></h2> <ul><li>Bei Dateien: <ul><li><code>r</code> Inhalt der Datei lesen (read)</li>…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

Rechte im Dateisystem

Bedeutung von rwx

  • Bei Dateien:
    • r Inhalt der Datei lesen (read)
    • w Inhalt der Datei verändern (write)
    • x Ausführen der Datei als Programm (eXecute)
  • Bei Verzeichnissen:
    • r Dateinamen lesen (read). Dieses Recht genügt aber nicht um auf die Dateien zuzugreifen.
    • w Dateien im Verzeichnis anlegen und löschen (write)
    • x Zugreifen auf die Dateien (eXecute)

Ändern der RWX-Rechte für eine Datei oder ein Verzeichnis

Mit dem chmod-Befehl kann man die RWX-Rechte einer Datei oder eines Verzeichnisses ändern.

chmod WerHinOderWegWas Datei

chmod WerHinOderWegWas Verzeichnis

Bedeutung der Abschnitte:

  • Wer: Dies beschreibt, für wen die Änderung vorgenommen werden soll. Zur Auswahl stehen:
    • u: User, der Benutzer dem die Datei gehört.
    • g: Group, die Gruppen die bei der Datei eingetragen ist.
    • o: Other, alle Anderen, die nicht der Benutzer sind und nicht zur Gruppe gehören.
  • HinOderWeg: Hier entscheiden wir, ob wir ein Recht hinzufügen, entfernen oder so festlegen wollen, wie angegeben.
    • +: Hinzufügen eines oder mehrer Rechte.
    • -: Entfernen eines oder mehrer Rechte.
    • =: Rechte so festlegen, wie angegeben.
  • Was: Welches Recht soll eingestellt werden.
    • r: Read
    • w: Write
    • x: eXecute (siehe oben)

Beispiele:

Allen anderen sollen alle Rechte auf das Zeitungsverzeichnis entzogen werden:

chmod o-rwx Zeitung

Der Benutzer will eine Programmskript ausführbar machen

chmod u+x Programmskript

Für die Gruppe sollen nur r- und w-Rechte gelten. Sonst nichts:

chmod g=rw Datei

Ändern von Rechten mit chmod und Zahlencodes

Linux-Admins sparen gerne Tipparbeit und schreiben die Rechte für eine Datei oder ein Verzeichnis gerne als Zahlencode. Die erste Ziffer steht für den Eigentümer, die zweite Ziffer für die Gruppe und die dritte Ziffer für alle anderen.

Die Rechte haben Zahlenwerte, die man einfach zusammenzählt:

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

Um ein Recht festzulegen werden die Zahlenwerte einfach zusammengezählt:

  • --- = 0
  • --x = 1
  • -w- = 2
  • -wx = 3
  • r-- = 4
  • r-x = 5
  • rw- = 6
  • rwx = 7

Beim chmod-Befehl gibt man die Rechte für Eigentümer, Gruppe und Andere als dreistelligen Zahlencode an.

Beispiel:

chmod 754 eineDatei

eineDatei erhält die Rechte rwx für den Eigentümer, r-x für die Gruppe und r-- für alle anderen.

Ändern des Eigentümers einer Datei oder eines Verzeichnisses

Mit dem Befehl chown (change owner) kann man den Eintümer ändern, zu der eine Datei oder ein Verzeichnis gehören.

chown NeuerEigentümer Datei

chown NeuerEigentümer Verzeichnis

Mit chown kann man auch Eigentümer und Gruppe gleichzeitig ändern:

chown NeuerEigentümer: NeueGruppe Datei

chown NeuerEigentümer:NeueGruppe Verzeichnis

Ändern der Gruppe einer Datei oder eines Verzeichnisses

Mit dem Befehl chgrp (change group) kann man die Gruppe ändern, zu der eine Datei oder ein Verzeichnis gehören.

chgrp NeueGruppe Datei

chgrp NeueGruppe Verzeichnis

Spezielle Rechte auf Verzeichnissen

Sticky Bit

Das Sticky Bit sorgt dafür, dass in einem Verzeichnis Dateien nur von dem Benutzer gelöscht werden könnnen, der die Datei auch angelegt hat (Eigentümer der Datei).

Das Sticky Bit setzt man auf ein Verzeichnis mit folgendem Befehl:

chmod +t Verzeichnis

Eselsbrücke: Merke Dir einfach das Wort "sTicky" mit großem "T".

SUID und SGID

Diese Bits werden auf Programmen gesetzt:

  • Wenn das SUID-Bit gesetzt ist, läuft das Programm mit den Rechten vom Eigentümer der Programmdatei.
  • Wenn das SGID-Bit gesetzt ist, läuft das Programm mit den Rechten von der Gruppe zu der die Programmdatei gehört.

Setzen des SUID-Bits:

chmod u+s Programmdatei

Setzen des SGID-Bits:

chmod g+s Programmdatei