Wichtigste Erkenntnisse
- 01Die drei Ziffern legen Berechtigungen für den Eigentümer, die Gruppe und alle anderen fest, in dieser Reihenfolge.
- 02Jede Ziffer ist die Summe von Lesen (4), Schreiben (2) und Ausführen (1) — also 7 = alle drei, 5 = Lesen + Ausführen.
- 03755 ist der Standard für Ordner und Programme; 644 ist Standard für normale Dateien; 777 ist fast immer ein Fehler.
Drei Ziffern, drei Zielgruppen
Unter Linux und macOS trägt jede Datei und jeder Ordner Berechtigungen für drei separate Benutzergruppen. Von links nach rechts gelten die drei Ziffern in einem Modus wie 755 für: den Eigentümer (der Benutzer, dem die Datei gehört), die Gruppe (eine Gruppe von Benutzern, die Zugriff teilen) und andere (buchstäblich alle anderen im System). Die Reihenfolge ändert sich nie — Eigentümer, Gruppe, andere.
Also 755 bedeutet: gib dem Eigentümer die durch 7 beschriebene Berechtigung, gib der Gruppe die durch 5 beschriebene Berechtigung und gib jedem anderen die durch 5 beschriebene Berechtigung. Um das Ganze zu verstehen, musst du nur wissen, was eine einzelne Ziffer bedeutet. Dann liest du die gleiche Regel dreimal.
Wie jede Ziffer aufgebaut wird: 4, 2, 1
Jede Ziffer ist eine Summe von bis zu drei Werten. Lesezugriff ist 4 wert, Schreibzugriff ist 2 wert und Ausführungszugriff ist 1 wert. Addiere die Berechtigungen, die du haben möchtest, und du erhältst eine einzelne Ziffer von 0 bis 7. Da 4, 2 und 1 Potenzen von zwei sind, produziert jede Kombination eine einzigartige Summe — es gibt nie Mehrdeutigkeit.
Gehe durch die Ziffer 7: 4 (Lesen) + 2 (Schreiben) + 1 (Ausführen) = 7, also 7 gewährt alles. Die Ziffer 5 ist 4 (Lesen) + 1 (Ausführen) = 5, was Lesen und Ausführen gewährt, aber nicht Schreiben. Die Ziffer 6 ist 4 + 2 = 6: Lesen und Schreiben, aber nicht Ausführen. Die Ziffer 4 ist nur Lesen. Die Ziffer 0 gewährt nichts.
Angewendet auf 755, das entpackt sich zu: Der Eigentümer erhält 7 (Lesen, Schreiben, Ausführen — volle Kontrolle), während die Gruppe und andere jeweils 5 (Lesen und Ausführen, aber keine Möglichkeit, die Datei zu ändern) erhalten. Dies ist genau das, was du für ein Programm oder einen Ordner möchtest, das/den andere verwenden können, aber nicht ändern.
Die Berechtigungsmodi, die du tatsächlich verwenden wirst
Fast die ganze tägliche Arbeit läuft auf eine Handvoll Modi hinaus. Hier ist, was jeder bedeutet und wann man es verwenden sollte.
- 01755 = rwxr-xr-x — Eigentümer kann lesen, schreiben und ausführen; alle anderen können lesen und ausführen. Der Standard für Ordner, Skripte und ausführbare Dateien.
- 02644 = rw-r--r-- — Eigentümer kann lesen und schreiben; alle anderen können nur lesen. Der Standard für normale Dateien wie HTML, Text und Bilder.
- 03700 = rwx------ — Eigentümer hat volle Kontrolle; niemand sonst kann nicht mal schauen. Verwenden für private Ordner und persönliche Skripte.
- 04600 = rw------- — Eigentümer kann lesen und schreiben; jeder andere ist ausgeschlossen. Ideal für private Schlüssel und Konfigurationsdateien mit Geheimnissen.
- 05775 = rwxrwxr-x — Eigentümer und Gruppe können schreiben; andere können lesen und ausführen. Häufig für gemeinsame Projektverzeichnisse.
- 06777 = rwxrwxrwx — jeder kann alles machen. Eine Sicherheitswarnung; fast nie die richtige Antwort.
Wie man einen chmod-Wert herausarbeitet
Statt oktal auswendig zu lernen, beschreibe den Zugriff, den du möchtest, und lasse den Rechner die Zahl und die rwx-Zeichenkette produzieren.
- 01
Öffne den chmod-Rechner
Gehe zum chmod-Rechner von Handytool. Er läuft vollständig in deinem Browser.
- 02
Markiere die Kästchen
Markiere Lesen, Schreiben oder Ausführen für Eigentümer, Gruppe und andere, je nachdem, wer was tun kann.
- 03
Lies das Ergebnis
Das Tool zeigt den numerischen Modus (wie 755) und die symbolische Zeichenkette (wie rwxr-xr-x) nebeneinander, damit du kopieren kannst, was dein Befehl benötigt.
- 04
Kopiere den Befehl
Grabe den vorgefertigten chmod-Befehl und füge ihn in dein Terminal ein, um die Berechtigungen anzuwenden.
Eine Besonderheit: Ausführen bedeutet unterschiedliche Dinge
Bei einer Datei bedeutet das Ausführungsbit "dies kann als Programm ausgeführt werden." Bei einem Ordner bedeutet Ausführen etwas anderes: "Dir ist erlaubt, in dieses Verzeichnis einzutreten und auf das darin Befindliche zuzugreifen." Deshalb erhalten Ordner normalerweise 755 statt 644 — ohne das Ausführungsbit kannst du einen Ordnernamen auflisten, aber nicht öffnen oder die Dateien darin erreichen.
Das ist der Grund, warum ein frisch hochgeladener Ordner voller lesbarer Dateien immer noch "Berechtigung verweigert" werfen kann. Die Dateien können 644 sein und völlig lesbar, aber wenn der Ordner selbst das Ausführungsbit für die Gruppe oder andere nicht hat, kann niemand hineintraversieren. Stelle Verzeichnisse auf 755 und ihren Inhalt auf 644 ein, und die meisten dieser Rätsel verschwinden.
chmod häufig gestellte Fragen
Was bedeutet chmod 755?
Es gibt dem Eigentümer vollständige Lese-, Schreib- und Ausführungsberechtigung (7), und gibt der Gruppe und jedem anderen nur Lese- und Ausführungsberechtigung (5 und 5). Es ist der Standardmodus für Ordner, Skripte und Programme, die andere verwenden können, aber nicht ändern.
Was ist der Unterschied zwischen 755 und 644?
755 enthält das Ausführungsbit, daher kann die Datei ausgeführt und Ordner können betreten werden. 644 hat kein Ausführungsbit — es ist Lesen und Schreiben für den Eigentümer, nur Lesen für alle anderen, was für normale Datendateien richtig ist.
Ist chmod 777 sicher?
Selten. Es lässt alle Benutzer und Prozesse die Datei lesen, ändern und ersetzen, was ein Sicherheitsrisiko auf einem gemeinsamen System ist. Bevorzuge den engsten Modus, der das Problem löst, normalerweise 755 oder 644.
Wie liest man einen Modus wie rwxr-xr-x?
Lese ihn in drei Gruppen von drei: rwx (Eigentümer) r-x (Gruppe) r-x (andere). Ein Buchstabe bedeutet, dass die Berechtigung gewährt wird, ein Bindestrich bedeutet, dass es nicht der Fall ist. rwxr-xr-x ist die symbolische Form von 755.