Zum Hauptinhalt springen
S-EDV news

chmod-Rechner

Rechte per Klick setzen oder eingeben – oktal (755), symbolisch (rwxr-xr-x) oder direkt aus der Ausgabe von ls -l. Inklusive Sonderrechte und fertiger Befehle.

  • Läuft komplett in Ihrem Browser
  • Keine Daten an einen Server
  • Ohne Anmeldung, ohne Tracking

Rechte eingeben

Per Klick setzen

WerLesen r · 4Schreiben w · 2Ausführen x · 1Wert
Besitzer (u) 0
Gruppe (g) 0
Andere (o) 0
Sonderrechte 0

Ergebnis

Befehle

So lesen Sie Linux-Dateirechte

Jede Datei und jeder Ordner unter Linux hat drei Rechte-Gruppen: für den Besitzer (u), für die Gruppe (g) und für alle anderen (o). Jede Gruppe kann lesen (r), schreiben (w) und ausführen (x). In der Ausgabe von ls -l stehen diese neun Zeichen direkt hinter dem Typzeichen: -rwxr-xr-x ist eine Datei, bei der der Besitzer alles darf und alle anderen nur lesen und ausführen.

Die oktale Schreibweise fasst jede Gruppe zu einer Ziffer zusammen: Lesen zählt 4, Schreiben 2, Ausführen 1. rwx ergibt 7, r-x ergibt 5 – daraus wird 755.

Bei Ordnern bedeuten die Rechte etwas anderes

Rechtbei Dateienbei Ordnern
r (4)Inhalt lesenDateinamen auflisten
w (2)Inhalt ändernDateien anlegen, umbenennen und löschen – auch fremde
x (1)als Programm startenOrdner betreten und auf Dateien darin zugreifen

Ein Ordner ohne x ist praktisch gesperrt, selbst wenn r gesetzt ist. Umgekehrt darf jeder mit Schreibrecht auf einen Ordner Dateien darin löschen, auch wenn ihm die Datei selbst nicht gehört. Genau dafür gibt es das Sticky-Bit.

Typische Rechte aus der Praxis

WertSymbolischEinsatz
644rw-r--r--normale Dateien, Webseiten, Konfiguration ohne Geheimnisse
755rwxr-xr-xOrdner, Skripte und Programme
640rw-r-----Konfiguration mit Passwörtern, die ein Dienst über seine Gruppe liest
600rw-------private SSH-Schlüssel, .env-Dateien, authorized_keys
700rwx------~/.ssh und private Ordner
2775rwxrwsr-xTeam-Ordner: neue Dateien erben die Gruppe
1777rwxrwxrwtgemeinsame Ablage wie /tmp: jeder schreibt, löscht aber nur Eigenes

Sonderrechte: setuid, setgid und Sticky-Bit

Die optionale vierte, vorangestellte Ziffer setzt drei Sonderrechte. setuid (4) lässt ein Programm mit den Rechten seines Besitzers laufen – so ändert passwd als normaler Benutzer die Datei /etc/shadow. setgid (2) wirkt auf Ordnern besonders nützlich: Alles, was darin neu entsteht, gehört automatisch der Gruppe des Ordners. Das Sticky-Bit (1) auf einem Ordner sorgt dafür, dass nur der Besitzer einer Datei sie löschen oder umbenennen darf.

In ls -l erscheinen die Sonderrechte an der Stelle des x: ein kleines s oder t bedeutet „Sonderrecht und Ausführrecht“, ein großes S oder T „Sonderrecht ohne Ausführrecht“ – das ist meist ein Fehler.

Rechte rekursiv richtig setzen

chmod -R 755 ordner macht auch jede Datei ausführbar. Besser ist es, Ordner und Dateien getrennt zu behandeln:

find /srv/www -type d -exec chmod 755 {} +
find /srv/www -type f -exec chmod 644 {} +

Das Tool erzeugt diese Befehle automatisch, sobald Sie oben „Ordner“ wählen und einen Pfad eintragen.

Häufige Fragen

Warum ist chmod 777 gefährlich?

Mit 777 darf jeder Benutzer und jeder Dienst auf dem System die Datei ändern oder im Ordner beliebige Dateien ablegen und löschen. Ein kompromittierter Webserver-Prozess kann so Schadcode einschleusen. Wenn ein Dienst nicht schreiben kann, liegt das fast immer am Besitzer oder an der Gruppe – das lösen Sie mit chown oder einer passenden Gruppe, nicht mit 777.

Welche Rechte braucht ein SSH-Schlüssel?

Der private Schlüssel braucht 600 (oder 400), der Ordner ~/.ssh 700 und die Datei authorized_keys 600. Sind die Rechte zu offen, lehnt SSH den Schlüssel mit „UNPROTECTED PRIVATE KEY FILE“ ab bzw. der Server ignoriert authorized_keys.

Was ist der Unterschied zwischen chmod und chown?

chmod legt fest, was Besitzer, Gruppe und andere dürfen. chown legt fest, wem die Datei gehört und welcher Gruppe sie zugeordnet ist, z. B. chown www-data:www-data datei. Beides greift ineinander: Die besten Rechte nützen nichts, wenn der Dienst unter einem anderen Benutzer läuft.

Warum hilft chmod bei Docker-Volumes oft nicht?

Im Container läuft der Dienst meist unter einer bestimmten Benutzer-ID (UID), zum Beispiel 1000. Gehört der Ordner auf dem Host einer anderen UID, scheitert das Schreiben trotz passender Rechte. Prüfen Sie mit ls -ln die Zahlen und setzen Sie den Besitzer passend, etwa mit chown -R 1000:1000 ./data, oder nutzen Sie die Variablen PUID/PGID des Images.

Was ist die umask?

Die umask bestimmt, welche Rechte neue Dateien und Ordner nicht bekommen. Bei der üblichen umask 022 entstehen Ordner mit 755 und Dateien mit 644, bei 077 mit 700 und 600. Wählen Sie oben „Ordner“, zeigt das Tool die zu Ihren Rechten passende umask.