Terminal in Linux – Zugriffsrechte

Dieser Artikel ist der achte von 10 Teilen zum Thema Linux Terminal in 10 Teilen, dabei geht es um sehr wichtige Grundlagen. Wie vergibt man im Linux System verschiedene Zugriffsrechte.

» Zur Übersicht der Artikelserie «

Grundlagen

Ein äußerst wichtiges Kapitel sind natürlich die Zugriffsrechte. Wer darf was? Auch hier wollen wir uns wieder auf das Terminal beschränken. Über unseren bereits bekannten Befehl ls -l erhalten wir sämtliche Informationen bzgl. der Berechtigungen. Nehmen wir nochmals das Bild aus der Verzeichnisstruktur.

Terminal Ausgabe ls -la
Dateiarten – Ausgabe von ls -la

Jetzt schauen wir uns die ersten “Kryptischen” Zeichen (drwxrwx—) an. Was das “d” oder “l” oder “-” bedeutet haben bereits bei den Dateiarten erläutern. Generell unterscheidet Linux drei verschiedene Benutzerklassen.

  • Der Eigentümer der Datei (owner)
  • Die Mitglieder der Gruppe, der die Datei zugeordnet ist (group)
  • alle anderen Benutzer (others)

Die verschiedenen Zugiffsrechte

Für jede Benutzerklassen können jetzt getrennt verschiedene Rechte gesetzt werden.

  • (r) Leserecht
  • (w) Schreibrecht
  • (x) Ausführungsrecht

Neben diesen Rechten können pro Datei noch die drei Spezialrechte  SUID, SGID und das Sticky-Bit gesetzt werden.

Linux Zugriffsrechte
Linux Zugriffsrechte
  • Sticky-Bit: Bei gesetztem Sticky-Bit darf jeder Benutzer nur die Dateien löschen die Ihm gehören. Beim /tmp Verzeichnis ist dieses Bit (rwt) gesetzt. D.h. jeder kann hier seine Dateien lesen, erstellen und löschen.
  • SUID (Set-User-ID) auf Programme: Das Programm läuft mit den Rechten des Datei-Eigentümers. Das ist z.B. wichtig wenn ein Benutzer sein Passwort ändern möchte. Dies wird in der datei /etc/passwd konfiguriert und normalerweise darf hier nur der root Änderungen vornehmen. Durch das gesetzte SUID Bit kann der Benutzer in die Datei schreiben.
  • SGID (Set-Group-ID) auf Programme: Dieses Bit funktioniert genauso wie das SUID nur das hier die Rechte der Gruppe verwendet werden.
  • SGID auf Verzeichnisse: Sobald das SGID -Bit auf Verzeichnisse angewendet wird, werden die darin erstellen Dateien der Gruppe des Verzeichnisses zugeordnet und nicht wie üblich der Gruppe des Benutzers, der die Datei erzeugt hat.

Hinweis zu den Spezialrechten:

Damit diese Rechte wirksam werden, muss immer entsprechend das Ausführungsecht (x) gesetzt sein. Wenn dieses Recht nicht gesetzt ist, so wird das Spezialrecht immer mit Großbuchstaben angezeigt und es bleibt wirkungslos.

  • Bei SUID -> Ausführungsrecht auf Eigentümer der Datei
  • Bei GUID -> Ausführungsrecht für die Gruppe
  • Beim Sticky-Bit: -> Ausführungsrecht für alle anderen Benutzer

 

Zugriffsrechte ändern

Für das Ändern der Zugriffsrechte gibt es den Befehl chmod. Dieser kann auf zwei unterschiedlichen Arten angewendet werden.

  1. Symbolische Schreibweise
  2. Oktalnotation

Beide Arten führen in der Regeln natürlich zum gleichen Ergebnis.

1. Symbolische Schreibweise

Hierfür sollte man sich die folgende Tabelle merken:

Benutzerklasse Rechte Symbol
u Eigentümer (user,owner) r lesen (read) + Berechtigung hinzufügen
g Mitglied der Gruppe (group) w schreiben (write) Berechtigung entfernen
o Alle anderen Benutzer (others) x ausführen (execute) = nur diese Rechte werden gesetzt. Sollten andere Rechte gesetzt sein, so werden sie entzogen
a Alle drei Benutzerklassen (all) s SUID (SGID
t Sticky-Bit

Beispiel: Wir entziehen einer Datei (script.sh) das Leserecht (r) für alle anderen Benutzer (others) und anschließend geben wir der Gruppe und dem Eigentümer das Ausführungsrecht (x).

Zugriffsrechte setzen bzw. entziehen
Zugriffsrechte der Datei script.sh
chmod o-r script.sh
Zugriffsrechte setzten bzw. entziehen
Zugriffsrecht “lesen” wurde der Benutzerklasse “alle” entzogen
chmod u+x,g+x script.sh
Zugriffsrechte setzten bzw. entziehen
Dem Eigentümer und der Gruppe wird das Ausführungsrecht erteilt.

2. Oktalnotation

Es werden für jedes Zugriffsrecht 3 Bits verwendet. Für ein vergebenes Recht wird das entsprechende Bit gesetzt.

Zugriffsrechte und die Oktalnotation
Zugriffsrechte und die Oktalnotation

Hier werden die Oktalzahlen verwendet, um eine Datei mit einem bestimmten Zugriffsrecht auszustatten. D. h. man muss sich folgendes merken:

  • 4 : Lesen
  • 2 : Schreiben
  • 1 : Ausführen

Möchte man mehrere Rechte gleichzeitig setzen, so verwendet man die Summe der jeweiligen einzelnen Rechte. Also z.B. Lesen und Schreiben wäre 6; Lesen, Schreiben und Ausführen dann 7. Wenn man kein Sonderrecht setzten möchte, so kann die Angabe der Oktalzahl 0 entfallen.

Beispiel: Die Datei script.sh erhält folgende Zugriffsrechte: Eigentümer: Lesen, Schreiben, Ausführen; Gruppe: Lesen und Schreiben, Rest: Lesen

chmod 764 script.sh
Zugriffsrechte mit der Oktalnotation setzen bzw. entziehen
Ändern der Zugriffsrecht mit der Oktalnotation

Eigentümerschaft einer Datei ändern

Generell kann natürlich nur der root die Eigentümerschaft von Dateien ändern. Um den Eigentümer zu ändern verwendet man das Kommando chown.

Allgemeine Syntax:

chown [Optionen] Eigentümer[:Gruppe] Datei

Um die Datei einer anderen Gruppe zuzuordnen nimmt man das Kommando chgrp.

Allgemeine Syntax:

chgrp [Optionen] Gruppe Datei

» Teil 7 «          » Zur Übersicht der Artikelserie «          » Teil 9 «

Hinterlasse jetzt einen Kommentar

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*