Linux Datei Rechte
Unter Linux, genau wie unter Windows, können je Datei oder Ordner Rechte vergeben werden. Die vergebenen Rechte beeinflussen den Zugriff auf die entsprechenden Dateien und Verzeichnisse.
Mit dem Befehl “ls -l” kann man sich die Rechte anzeigen lassen:
ls -l file.sh
Folgende Ausgabe erscheint auf der Konsole:
-rwxrw-r-- 1 owner group 42 Aug 11 13:37 file.sh
Beschreibung
Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ausgabe | – | r | w | x | r | w | – | r | – | – | 42 | owner | group | Aug 11 13:37 | file.sh |
Beschreibung | Typ | Eigentümer | Gruppe | Sonstiges | Größe (KB) | Eigentümer | Gruppe | Änderungszeit | Dateiname |
Dateisystem Typen
Die Position “1” zeigt an, um welchen Typen es sich handelt.
Typ | Bezeichnung | Beschreibung |
---|---|---|
d | Directory | Dieser Buchstabe steht für ein Verzeichnis/Ordner. |
– | File | Der Bindestrich steht für eine Datei. |
l | Symbolic link | Bei einem Link handelt es sich um Verknüpfung zu einer Datei oder einem Verzeichnis. |
c | Character Device | Dies ist eine zeichenorientierte Gerätedatei, welche unter /dev zu finden ist. |
b | Block Device | Dies ist eine blockorientierte Gerätedatei, welche unter /dev zu finden ist. |
s | Socket | Dies ist ein sog. Unix Domain Socket, wird für die Interprozess-Kommunikation verwendet. |
p | Pipe | Alles was ein Programm in die Pipe schreibt, kann von einem anderen Programm ausgelesen werden. |
Attribute
Die Positionen “2” bis “10” zeigen an, welche Rechte auf dem Ordner oder der Datei vergeben sind. Dabei wird zwischen folgenden Rechten unterschieden:
Zeichen | Beschreibung |
---|---|
Eigentümer | User welchem die Datei gehört |
Gruppe | User die Mitglied in dieser Gruppe sind |
Sonstiges | Alle anderen User |
Die folgende Tabelle erläutert die Bedeutung der einzelnen Buchstaben:
Zeichen | Bedeutung | Beschreibung |
---|---|---|
r | read | Erlaubt den lesenden Zugriff |
w | write | Erlaubt schreibenden Zugriff |
x | execute | Erlaubt das Ausführen einer Datei |
Sonderrechte
Statt dem “x” besteht die Möglichkeit, zusätzliche Rechte zu vergeben.
Zeichen | Beschreibung |
---|---|
t | Wird das “Sticky-Bit” auf einem Verzeichnis angewendet, so dürfen die darin erstellten Dateien oder Verzeichnisse nur vom Dateibesitzer gelöscht oder umbenannt werden. |
s | Das “SUID-Bit” Recht („Set User ID“) schränkt das Ausführungsrecht eines Programms dahingehend ein, dass das Programm mit den Rechten des Dateibesitzers ausgeführt wird (Position 4). Das “SGID-Bit” Recht („Set Group ID“) schränkt das Ausführungsrecht eines Programms dahingehend ein, dass das Programm mit den Rechten der Dateigruppe läuft (Position 7). Zusätzlich wird bei einem Ordner die Gruppe an alle Unterordner und Dateien vererbt, die in diesem Ordner neu erstellt werden. |
Rechte vergeben
Die Rechte auf ein Verzeichnis oder für eine Datei können mit dem Befehl “chmod” vergeben werden.
Symbol | Rechte | Oktal | Binär | ||
---|---|---|---|---|---|
rwx | Lesen | Schreiben | Ausführen | 7 | 111 |
rw- | Lesen | Schreiben | 6 | 110 | |
r-x | Ausführen | 5 | 101 | ||
r– | Lesen | 4 | 100 | ||
-wx | Schreiben | Ausführen | 3 | 011 | |
-w- | Schreiben | 2 | 010 | ||
–x | Ausführen | 1 | 001 | ||
— | 0 | 000 |
Um die identischen Rechte wie in unserem Beispiel zu vergeben, lautet der Befehl:
chmod 0764 file.sh
Die führende Null kann dabei entfallen (0764 = 764) und führt zum identischen Ergebnis.
Position | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Recht | – | r | w | x | r | w | – | r | – | – |
Wert in Oktal | – | 7 | 6 | 4 |
Für die Vergabe der Sonderrechte wird die erste Stelle verwendet und die führende Null entsprechend belegt.
Recht | Wert | Auswirkung auf Dateien | Auswirkung auf Ordner |
---|---|---|---|
SUID-Bit | 4 | Benutzer führt Datei mit Berechtigungen des Dateieigentümers aus | – |
SGID-Bit | 2 | Benutzer führt Datei mit Berechtigungen des Gruppeneigentümers aus | Im Verzeichnis erstellte Datei erhält denselben Gruppeneigentümer |
Sticky-Bit | 1 | – | Benutzer können keine Dateien von anderen Benutzern löschen |
Eine Kombination der Sonderrechte wird durch Addition der Werte erreicht.