Linux-Dateiberechtigungen bestimmen, wer Dateien lesen, ändern oder ausführen darf. Wer sie versteht, schützt System und Daten besser - besonders in Mehrbenutzerumgebungen. Hier lernst du die Bedeutung von r/w/x, das Lesen von ls -l sowie das Ändern von Rechten und Besitzern mit chmod, chown und chgrp.
Linux ist als leistungsstarkes und zuverlässiges Betriebssystem bekannt, das hohe Sicherheit, Stabilität und Flexibilität bietet. Um die Integrität des Systems zu gewährleisten, nutzt Linux „Berechtigungen“. Diese steuern, wer Dateien und Verzeichnisse lesen, verändern oder ausführen darf. Egal ob Einsteiger oder erfahrene Nutzer: Ein solides Verständnis der Linux-Berechtigungen ist zentral, um Dateien und Verzeichnisse sinnvoll abzusichern.
Linux-Berechtigungen verstehen
Unter Linux hat jede Datei und jedes Verzeichnis einen Berechtigungssatz für drei Ebenen von Systembenutzern:
- Benutzer (Owner): Eigentümer der Datei/des Verzeichnisses - meist der Ersteller.
- Gruppe: Eine Sammlung von Benutzern, die gemeinsame Rechte erhalten können.
- Andere: Alle übrigen Benutzer, die weder Owner noch in der Gruppe sind.
Für jede dieser Ebenen gibt es drei Arten von Berechtigungen:
- Lesen (r): Inhalt anzeigen. Bei Dateien: lesen/kopieren. Bei Verzeichnissen: Dateinamen im Verzeichnis auflisten und Inhalte (je nach weiteren Rechten) lesen/kopieren.
- Schreiben (w): Inhalt ändern. Bei Verzeichnissen u. a. Dateien anlegen, entfernen oder umbenennen (abhängig von Kombinationen der Rechte).
- Ausführen (x): Datei ausführen bzw. ein Verzeichnis „betreten“/darauf zugreifen.
- Bindestrich (-): Keine Berechtigung gesetzt.
So zeigst du Dateiberechtigungen unter Linux an
Um die Rechte von Dateien und Verzeichnissen im aktuellen Ordner anzuzeigen, nutze:
ls -l
Die Ausgabe enthält mehrere Spalten. Wichtig sind insbesondere:
- Erstes Zeichen: Dateityp (z. B.
-für Datei,dfür Verzeichnis). - Nächste neun Zeichen: Der Berechtigungssatz (je 3 Zeichen für Owner, Gruppe, Andere).
- Weitere Spalten: Link-Anzahl, Owner, Gruppe, Größe, Änderungszeit, Name.
Beispiel-Berechtigungssatz: rwxr-xr--
rwx: Owner darf lesen, schreiben, ausführen.r-x: Gruppe darf lesen und ausführen, aber nicht schreiben.r--: Andere dürfen nur lesen.
Merkschema: erste 3 = Owner, zweite 3 = Gruppe, letzte 3 = Andere.
So änderst du Dateiberechtigungen unter Linux (chmod)
Zum Ändern von Berechtigungen wird chmod („change mode“) verwendet. Grundsyntax:
chmod
Häufige Optionen:
| Option | Beschreibung |
|---|---|
-v | Zeigt eine Diagnosemeldung für jede verarbeitete Datei an. |
-c | Wie -v, aber nur wenn tatsächlich Änderungen vorgenommen wurden. |
-f | Unterdrückt die meisten Fehlermeldungen. |
-R | Ändert rekursiv Dateien und Verzeichnisse. |
Es gibt zwei gängige Methoden, Berechtigungen anzugeben:
- Absoluter Modus (Oktalzahlen)
- Symbolischer Modus (Buchstaben)
Absoluter Modus in chmod (Oktal)
Hier werden die Rechte als drei Ziffern (0-7) angegeben: erste Ziffer = Owner, zweite = Gruppe, dritte = Andere.
chmod
| Berechtigung | Wert |
|---|---|
| Keine | 0 |
| Ausführen | 1 |
| Schreiben | 2 |
| Schreiben + Ausführen | 3 (2+1) |
| Lesen | 4 |
| Lesen + Ausführen | 5 (4+1) |
| Lesen + Schreiben | 6 (4+2) |
| Lesen + Schreiben + Ausführen | 7 (4+2+1) |
Beispiele:
- Alle dürfen alles (lesen/schreiben/ausführen):
chmod -v 777 test.txt
- Owner nur lesen; Gruppe und Andere keine Rechte:
chmod -v 400 test.txt
Symbolischer Modus in chmod
Der symbolische Modus ist oft praktischer, weil du gezielt nur bestimmte Teile ändern kannst (z. B. nur für die Gruppe), ohne den kompletten Satz neu anzugeben.
chmod
Bausteine:
- Benutzertyp:
u(Owner),g(Gruppe),o(Andere),aoderugo(alle) - Symbol:
+(hinzufügen),-(entfernen),=(exakt setzen) - Rechte:
r,w,x(kombinierbar)
Beispiele:
- Ausführungsrecht für die Gruppe hinzufügen:
chmod -v g+x test.txt
- Anderen das Ausführen entziehen und dem Owner volle Rechte geben:
chmod o-x,u+rwx test.txt
Besitzer und Gruppe ändern (chown, chgrp)
Manchmal brauchst du volle Kontrolle über eine Datei, willst die Rechte aber nicht mit Gruppenmitgliedern teilen. Dann ist es sinnvoll, Besitzer oder Gruppe zu ändern.
Besitzer ändern mit chown
chown
Beispiel (Owner von test.py auf root setzen):
sudo chown root test.py
Hinweis: Zum Ändern des Dateieigentümers sind in der Regel Root-Rechte erforderlich (z. B. via sudo).
Gruppe ändern mit chgrp
chgrp
Beispiel (Gruppe von test.txt auf test setzen):
sudo chgrp test test.txt
Hinweis: Eine Datei/ein Verzeichnis kann nicht gleichzeitig zwei Gruppen als Eigentümer haben.
Fazit
Die Verwaltung von Dateiberechtigungen ist besonders in Mehrbenutzerumgebungen entscheidend. Wenn du Berechtigungen regelmäßig prüfst und gezielt setzt, schützt du sensible Daten vor ungewolltem Zugriff. Mit ls -l zum Prüfen sowie chmod, chown und chgrp zum Anpassen hast du die wichtigsten Werkzeuge dafür in der Hand.