Cheat-Sheet: Linux-Dateirechte & chmod
Stand: 19.06.2026
Unter Linux und Unix steuert jede Datei und jedes Verzeichnis über Zugriffsrechte, wer lesen, schreiben oder ausführen darf. Wer diese Rechte versteht, vermeidet sowohl frustrierende „Permission denied“-Meldungen als auch gefährliche Fehlkonfigurationen. Zum Umrechnen und Ausprobieren hilft dir der chmod-Rechner.
Die drei Rechte und drei Gruppen
Jede Datei kennt drei Rechte – r (read/lesen), w
(write/schreiben) und x (execute/ausführen) – jeweils für drei Klassen:
den Besitzer (user), die Gruppe (group) und
alle anderen (others). In der Ausgabe von ls -l erscheint das als
zehnstelliger Block, z. B. -rwxr-xr--: erstes Zeichen = Typ (- Datei,
d Verzeichnis, l Symlink), danach drei mal rwx.
Oktale Notation
Jedes Recht hat einen Zahlenwert: r = 4, w = 2,
x = 1. Die Summe pro Gruppe ergibt eine Ziffer (0–7), und drei
Ziffern beschreiben die kompletten Rechte. Beispiel: rwx = 4+2+1 = 7,
r-x = 4+0+1 = 5.
| Oktal | Symbolisch | Typische Nutzung |
|---|---|---|
644 | rw-r--r-- | Normale Dateien: Besitzer schreibt, alle lesen. |
755 | rwxr-xr-x | Verzeichnisse und ausführbare Skripte/Programme. |
600 | rw------- | Private Dateien: nur Besitzer (z. B. SSH-Schlüssel). |
700 | rwx------ | Private Verzeichnisse: nur Besitzer. |
640 | rw-r----- | Konfig mit sensiblen Daten, Gruppe darf lesen. |
777 | rwxrwxrwx | Gefährlich Jeder darf alles – vermeiden! |
Symbolische Notation
Statt Zahlen kannst du Rechte gezielt verändern: u (user), g (group),
o (others), a (all) kombiniert mit + (hinzufügen),
- (entfernen) oder = (exakt setzen).
chmod u+x skript.sh– macht die Datei für den Besitzer ausführbar.chmod go-w datei– entzieht Gruppe und anderen das Schreibrecht.chmod a=r datei– alle dürfen nur lesen.chmod -R 755 ordner/– rekursiv auf alle Inhalte anwenden.
Spezialbits: setuid, setgid, sticky
Eine vierte, vorangestellte Oktalziffer steuert Sonderrechte:
- setuid (4) –
chmod 4755: Programm läuft mit den Rechten des Datei-besitzers, nicht des Aufrufers (z. B.passwd). Mit Vorsicht einsetzen. - setgid (2) –
chmod 2755: bei Verzeichnissen erben neue Dateien die Gruppe des Verzeichnisses – praktisch für gemeinsame Projektordner. - sticky bit (1) –
chmod 1777: nur der Besitzer darf eigene Dateien löschen, typisch für/tmp.
Best Practices
- Niemals
777setzen – das gibt jedem Schreib- und Ausführungsrechte. Fast immer reichen755oder644. - Geheimnisse (Schlüssel, Tokens,
.env-Dateien) auf600beschränken; SSH verweigert sonst sogar den Dienst. - Rechte gezielt vergeben statt rekursiv zu lockern – weniger ist sicherer.
- Verzeichnisse brauchen
x, um betreten werden zu können; ohnexnütztrauf einem Ordner wenig. - Eigentümer und Gruppe per
chownsauber setzen, bevor du an den Rechten drehst.
Tipp: Der Wert umask bestimmt, welche Rechte neue Dateien standardmäßig
nicht bekommen. Bei umask 022 entstehen Dateien mit 644 und Verzeichnisse mit 755.