chmod-Zahlen erklärt: 600, 644, 700 und 755
Verstehe numerische chmod-Rechte, wähle sichere Modi für Dateien und Verzeichnisse und prüfe das Ergebnis ohne riskante Rekursion.
Interaktive Lektion startenEin dreistelliger chmod-Modus legt die Rechte für Eigentümer, Gruppe und alle anderen fest – genau in dieser Reihenfolge. Jede Ziffer addiert Lesen (4), Schreiben (2) und Ausführen beziehungsweise das Durchsuchen eines Verzeichnisses (1). chmod 640 report.txt erlaubt dem Eigentümer zum Beispiel Lesen und Schreiben, der Gruppe nur Lesen und allen anderen keinen Zugriff. In der Lektion zu numerischen Berechtigungen kannst du das Entschlüsseln der Ziffern sicher üben.
Eine Berechtigungsziffer zusammensetzen
Jede Benutzergruppe erhält einen Wert von 0 bis 7:
| Zahl | Berechtigung | Bedeutung |
|---|---|---|
| 0 | --- | kein Zugriff |
| 1 | --x | Datei ausführen oder Verzeichnis durchsuchen |
| 2 | -w- | schreiben |
| 3 | -wx | schreiben + ausführen/durchsuchen |
| 4 | r-- | lesen |
| 5 | r-x | lesen + ausführen/durchsuchen |
| 6 | rw- | lesen + schreiben |
| 7 | rwx | lesen + schreiben + ausführen/durchsuchen |
Setze drei Ziffern in der Reihenfolge Eigentümer-Gruppe-Andere zusammen. Der Modus 754 bedeutet daher rwxr-xr--.
Den Modus passend zum Ziel wählen, nicht aus einer Merkliste
Diese Modi sind häufige Ausgangspunkte. Welche Wahl richtig ist, hängt jedoch davon ab, wer den Pfad verwenden soll:
| Modus | Typische Bedeutung |
|---|---|
600 | private Datei, die nur ihr Eigentümer lesen und schreiben darf |
640 | Eigentümer liest/schreibt; Gruppe liest; andere haben keinen Zugriff |
644 | Eigentümer liest/schreibt; alle anderen lesen |
700 | privates Verzeichnis oder ausführbare Datei nur für den Eigentümer |
750 | Eigentümer hat Vollzugriff; Gruppe darf lesen und eintreten; andere haben keinen Zugriff |
755 | Eigentümer darf ändern; alle dürfen lesen und eintreten oder ausführen |
Wende einen Modus auf ein bekanntes Ziel an:
chmod 640 report.txt
chmod 750 scripts
Verzeichnisse benötigen das x-Bit, damit Benutzer sie betreten und auf benannte Einträge darin zugreifen können. Ein Verzeichnis mit Leserecht, aber ohne Durchsuchrecht kann unter Umständen Namen auflisten und zugleich den normalen Zugriff auf diese Einträge verhindern. Deshalb führt ein von einer normalen Datei übernommener Modus bei einem Verzeichnis oft zu verwirrenden Fehlern.
Das Ergebnis in symbolischer Form prüfen
Kontrolliere den Modus nach der Änderung:
ls -l report.txt
ls -ld scripts
Bei einer normalen Datei mit 640 sollte die Berechtigungszeichenfolge mit -rw-r----- beginnen. Bei einem Verzeichnis mit 750 sollte sie mit drwxr-x--- anfangen. Das erste Zeichen beschreibt den Dateityp; die folgenden neun Zeichen stehen für die Rechte von Eigentümer, Gruppe und anderen.
Numerische und symbolische Modi beantworten verschiedene Fragen
Ein numerischer Modus gibt den vollständigen Satz regulärer Berechtigungen an, den du setzen möchtest. Eine symbolische Änderung passt nur ausgewählte Bits relativ zum aktuellen Modus an:
chmod g+w shared.txt
chmod o-r private.txt
Verwende die symbolische Form, wenn du etwa „Schreibrecht für die Gruppe hinzufügen“ möchtest, ohne andere Rechte zurückzusetzen. Die numerische Form passt, wenn du den vollständigen Modus für Eigentümer, Gruppe und andere bewusst festgelegt hast. Besondere Bits wie setuid, setgid und Sticky-Bit ergänzen eine weitere Ziffer und sollten vor dem Einsatz gesondert geprüft werden.
Vermeide chmod -R 777 als schnelle Fehlerbehebung. Damit erhält jede Benutzergruppe alle regulären Rechte, und die Entscheidung wird auf Pfade angewendet, die du möglicherweise nicht geprüft hast. Beginne mit einem Ziel, kontrolliere das Ergebnis und erweitere den Bereich nur, wenn wirklich alle untergeordneten Pfade dieselbe Richtlinie benötigen.
Die SSH-spezifische Entscheidung zwischen 600 und 700 erklärt der Artikel SSH-Dateien schützen. Die GNU-Referenz zu numerischen Modi definiert die Oktalwerte und das Verhalten besonderer Modi.
Quellen
Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.
Nächstes
Nutze chmod 600 für den privaten SSH-Schlüssel und 700 für sein Verzeichnis. Prüfe vor dem Verbindungsversuch Rechte und Eigentümer.