So funktioniert es
Unter Unix und Linux hat jede Datei Berechtigungen für drei Klassen: den Besitzer, die Gruppe und den Rest („andere“). Jede Klasse kann drei Berechtigungen haben: Lesen (r), Schreiben (w) und Ausführen (x). chmod ist der Befehl, der sie ändert.
Berechtigungen werden auf zwei gleichwertige Arten dargestellt: numerisch (oktal) und symbolisch. Im Oktalsystem ist jede Klasse eine Ziffer von 0 bis 7, die Summe aus 4 (Lesen) + 2 (Schreiben) + 1 (Ausführen). Symbolisch werden sie als neun Zeichen geschrieben, zum Beispiel rwxr-xr-x.
Eine anfängliche vierte Ziffer steuert die Sonderbits: setuid (4), setgid (2) und sticky (1). Dieses Tool wandelt in beide Richtungen um: Aktiviere die Berechtigungen mit den Kästchen, um das Oktal, die symbolische Notation und den kopierfertigen Befehl zu erhalten, oder füge einen Wert ein, um ihn dargestellt zu sehen.
Beispiele
755rwxr-xr-xDer Besitzer kann lesen, schreiben und ausführen; die Gruppe und andere nur lesen und ausführen. Typisch für Verzeichnisse und Skripte.644rw-r--r--Der Besitzer liest und schreibt; die Gruppe und andere lesen nur. Üblich bei Daten- und Konfigurationsdateien.600rw-------Nur der Besitzer kann lesen und schreiben; niemand sonst hat Zugriff. Empfohlen für private Schlüssel.4755rwsr-xr-xDie erste Ziffer 4 aktiviert setuid: Das Programm läuft mit den Rechten des Dateibesitzers.Anwendungsfälle
- Einem Skript Ausführungsrecht geben (chmod 755) oder eine Datei mit sensiblen Daten einschränken (chmod 600).
- Zwischen der Oktalzahl eines Tutorials und dem, was ls -l zeigt, übersetzen, ohne die Bits von Hand zu berechnen.
- Verstehen, welche Berechtigungen ein Befehl tatsächlich gewährt, bevor er auf einem Server ausgeführt wird.
Häufige Fragen
Warum sind 755 nur drei Ziffern und manchmal erscheinen vier?
Die drei Ziffern stehen für Benutzer, Gruppe und andere. Die vierte Ziffer, optional und am Anfang, steuert die Sonderbits (setuid, setgid, sticky); ist sie 0, wird sie weggelassen, deshalb sind 0755 und 755 dasselbe.
Was bedeuten das s und das t in rwsr-xr-t?
Sie ersetzen das x, um ein Sonderbit anzuzeigen. Das s im Benutzerblock ist setuid, im Gruppenblock setgid; das t im Block der anderen ist das Sticky-Bit. In Großbuchstaben (S/T) ist das Bit aktiv, aber ohne Ausführungsrecht.
Was ist der Unterschied zwischen chmod 755 und chmod u=rwx,g=rx,o=rx?
Keiner: Sie erzeugen genau dieselben Berechtigungen. Die Oktalform ist kompakter und die symbolische lesbarer. chmod akzeptiert auch relative Änderungen wie u+x (Ausführung für den Besitzer hinzufügen), ohne den Rest zu berühren.
Welche Berechtigungen sollte ein privater SSH-Schlüssel haben?
600 (rw-------). SSH weigert die Verwendung eines privaten Schlüssels, wenn die Gruppe oder andere ihn lesen können. Der Ordner ~/.ssh verwendet meist 700.