chmod-Rechner

Der chmod-Rechner wandelt Linux-Dateirechte zwischen Häkchen (rwx), Oktal wie 755 und symbolisch wie rwxr-xr-x um, mit setuid, setgid, Sticky-Bit und umask.

Lesen (r = 4)Schreiben (w = 2)Ausführen (x = 1)
Besitzer (u)
Gruppe (g)
Andere (o)

–

 

KlasserwxOktal

Befehle

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Häufige Werte
OktalSymbolischTypische Verwendung
644rw-r--r--Normale Dateien: HTML, Bilder, Konfiguration ohne Geheimnisse
755rwxr-xr-xOrdner und ausführbare Skripte, die alle lesen dürfen
600rw-------Private Dateien wie ~/.ssh/id_ed25519 oder .env
700rwx------Private Ordner wie ~/.ssh
664rw-rw-r--Dateien, an denen eine Gruppe gemeinsam arbeitet
775rwxrwxr-xGemeinsame Projektordner einer Gruppe
640rw-r-----Konfiguration, die ein Dienst über seine Gruppe liest
400r--------Schreibgeschützte Schlüssel, etwa .pem-Dateien für AWS
777rwxrwxrwxAlle dürfen alles; fast nie die richtige Lösung
1777rwxrwxrwtGemeinsame Ordner wie /tmp mit Sticky-Bit
2775rwxrwsr-xGruppenordner, in dem neue Dateien die Gruppe erben
4755rwsr-xr-xProgramme mit setuid wie /usr/bin/passwd

Dateirechte verstehen: rwx, Oktal und Sonderbits

Der chmod-Rechner übersetzt Dateirechte zwischen den drei Schreibweisen, die unter Linux und macOS gebräuchlich sind: Häkchen für Lesen, Schreiben und Ausführen (rwx), die Oktalzahl wie 755 und die symbolische Form wie rwxr-xr-x aus ls -l. Jede Ziffer steht für eine Klasse: Besitzer, Gruppe, alle anderen. Sie ist die Summe aus 4 (lesen), 2 (schreiben) und 1 (ausführen). chmod 755 bedeutet also: Besitzer 7 = 4+2+1, Gruppe und Andere je 5 = 4+1.

Wer Dateirechte Linux-gerecht vergibt, braucht manchmal eine vierte Ziffer vorn: 4 für setuid, 2 für setgid und 1 für das Sticky-Bit. In der symbolischen Darstellung erscheinen sie als s oder t an der Stelle des x; ein großes S oder T heißt, dass das Sonderbit gesetzt ist, das Ausführrecht darunter aber fehlt. Im Feld „Symbolisch“ können Sie auch chmod-Ausdrücke wie u+x, go-w oder a=r eintippen; der Rechner wendet sie auf die aktuellen Rechte an. Die umask zeigt, mit welchen Rechten neue Dateien und Ordner entstehen: 022 ergibt 644 und 755.

Unix-Rechte oktal zu schreiben ist kurz, aber leicht verwechselt. Faustregeln: Ordner brauchen x, damit man hineinwechseln kann; Dateien nur dann, wenn sie Programme oder Skripte sind. 777 ist fast nie richtig, besonders auf Webservern. Für SSH-Schlüssel verlangt ssh 600 auf der Schlüsseldatei und 700 auf ~/.ssh, sonst verweigert es die Anmeldung.

Anleitung: chmod-Rechner in 4 Schritten

  1. Setzen Sie die Häkchen für Lesen, Schreiben und Ausführen bei Besitzer, Gruppe und Andere oder tippen Sie einen Oktalwert wie 755 ein.
  2. Geben Sie alternativ die symbolische Form wie rwxr-xr-x oder einen Ausdruck wie u+x,go-w ein.
  3. Wählen Sie bei Bedarf setuid, setgid oder Sticky-Bit, den Typ (Datei oder Ordner), den Dateinamen und die umask.
  4. Kopieren Sie die fertigen chmod-Befehle.

Typische Anwendungsfälle

  • Webserver einrichten: Dateien auf 644 und Ordner auf 755 setzen, ohne Rechte zu großzügig zu vergeben.
  • SSH-Anmeldung reparieren: Die Rechte 600 für Schlüsseldateien und 700 für ~/.ssh herstellen, wenn ssh den Schlüssel ablehnt.
  • Gemeinsame Ordner anlegen: Mit setgid (2775) dafür sorgen, dass neue Dateien die Gruppe des Projektordners erben.
Fragen

Häufige Fragen

Was bedeutet chmod 755?

Der Besitzer darf lesen, schreiben und ausführen (7), Gruppe und alle anderen dürfen lesen und ausführen (5). Das ist der übliche Wert für Ordner und Skripte, die alle benutzen, aber nur der Besitzer ändern darf.

Was ist der Unterschied zwischen 644 und 755?

Bei 644 fehlt das Ausführrecht. Für normale Dateien ist das richtig. Ordner brauchen dagegen x, damit man sie öffnen kann; deshalb bekommen Ordner meist 755 und Dateien 644.

Wofür ist das Sticky-Bit?

Auf Ordnern sorgt es dafür, dass nur der Besitzer einer Datei sie löschen oder umbenennen darf, auch wenn alle im Ordner schreiben dürfen. Bekanntestes Beispiel ist /tmp mit 1777.

Was bedeutet ein großes S in rwSr--r--?

setuid ist gesetzt, aber das Ausführrecht des Besitzers fehlt. Das ist meist ein Versehen, denn setuid wirkt nur bei ausführbaren Dateien.

Wie setze ich Rechte für Ordner und Dateien getrennt?

Mit find: find . -type d -exec chmod 755 {} + für Ordner und find . -type f -exec chmod 644 {} + für Dateien. chmod -R würde sonst allen dasselbe geben.

Was bedeutet chmod 600?

Nur der Besitzer darf lesen und schreiben, Gruppe und andere haben keinerlei Rechte. Das ist der übliche Wert für private Schlüssel, .env-Dateien und andere Geheimnisse.

Was bewirkt chmod +x?

Es fügt das Ausführrecht hinzu, ohne die übrigen Rechte zu ändern. Ohne Angabe von u, g oder o gilt es für alle Klassen, soweit die umask es zulässt; chmod u+x gibt es nur dem Besitzer.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge