Zugriffsrechte von Dateien

Linux ist als Multiuser-System konzipiert und benötigt daher Mechanismen, die steuern, wer auf welche Dateien zugreifen kann, wer sie ändern darf etc.

Mit jeder Datei bzw. mit jedem Verzeichnis werden folgende Informationen gespeichert:

Der Besitzer (owner) einer Datei ist in der Regel die Person, die die Datei erzeugt hat. Als Gruppe wird normalerweise die primäre Gruppe des Besitzers verwendet.

Die Zugriffsinformationen r, w und x steuern, wer die Datei lesen, schreiben (verändern) und ausführen darf. Diese Informationen werden getrennt für den Besitzer, für die Gruppe und für alle anderen Benutzer gespeichert. Das ermöglicht es, dem Besitzer mehr Rechte zu geben als anderen Benutzern. Die Informationen werden meist Zugriffsbits genannt, weil sie intern als Zahl gespeichert werden.

Die Zugriffsbits, der Besitzer sowie die Gruppenzugehörigkeit einer Datei können mit ls -l betrachtet werden.

Bedeutung der Rechte

Recht Datei Verzeichnis
r (read)Datei lesenInhalt des Verzeichnisses anzeigen (ls)
w (write)Datei verändernDateien im Verzeichnis anlegen/löschen
x (execute)Datei ausführenVerzeichnis betreten (cd)

Numerische Darstellung (Hexadezimalwerte)

Jedes Zugriffsrecht hat einen Zahlenwert:

Die Werte werden addiert:

Wert Bedeutung
7rwx
6rw-
5r-x
4r–
0—

Beispiel:

chmod 755 dateiname

Bedeutung:

Symbolische Schreibweise

Alternativ können Rechte symbolisch geändert werden:

Beispiel Bedeutung
chmod u+x dateiAusführrecht für Besitzer hinzufügen
chmod g-w dateiSchreibrecht der Gruppe entfernen
chmod o+r dateiLeserecht für andere hinzufügen
chmod a+r dateiLeserecht für alle hinzufügen
chmod u=rwx,g=rx,o= dateiRechte explizit setzen

Bedeutung der Buchstaben:

Rekursive Rechtevergabe

chmod -R 755 ordnersetzt Rechte rekursiv für Ordner und Unterordner
chown -R user:gruppe ordnerändert Besitzer und Gruppe rekursiv

Eigentümer und Gruppen

Kommando Beschreibung
chmodÄndern der Dateirechte
chmod 640 dateinameÄndert die Dateirechte auf _rw_ r _
chown benutzer dateiÄndert den Eigentümer
chown benutzer:gruppe dateiÄndert Eigentümer und Gruppe
chgrp gruppe dateiÄndert nur die Gruppe
id benutzerZeigt UID und Gruppenzugehörigkeit
groups benutzerZeigt Gruppen eines Benutzers

Spezialbits

Neben den normalen Zugriffsrechten gibt es zusätzliche Bits:

Bit Bedeutung
SetUID (4xxx)Programm läuft mit Rechten des Besitzers
SetGID (2xxx)Programm läuft mit Gruppenrechten
Sticky Bit (1xxx)Nur Besitzer darf Dateien im Verzeichnis löschen (z.B. /tmp)

Beispiel:

chmod 4755 programm

→ SetUID ist gesetzt.

Standardrechte (umask)

Die umask bestimmt die Standardrechte beim Erstellen neuer Dateien.

umaskzeigt aktuelle Maske
umask 022setzt Standardmaske

Beispiel:

BSP

Dateiattribute Anzahl der Links auf eine Datei Besitzer der Datei Benutzergruppe Dateigröße Datum Verzeichnis
drwxr-xr-x 3petragruppe5b454……

Erklärung von drwxr-xr-x: