Rechner · Linux
chmod-Rechner
Was bedeutet 750, und warum ist 777 fast nie die Lösung? Setze die Rechte für Besitzer, Gruppe und alle anderen per Klick oder tippe eine Zahl oder die Zeichenfolge aus ls -l ein — der Rechner rechnet um, erklärt die Wirkung für Datei oder Verzeichnis und erzeugt den chmod-Befehl. Ausgeführt wird nichts.
Häufige Rechte
| Wer | Lesen (r) | Schreiben (w) | Ausführen (x) | Bedeutung |
|---|---|---|---|---|
| Besitzer (u) | darf Inhalt auflisten, Dateien anlegen, umbenennen und löschen und betreten und auf Dateien darin zugreifen | |||
| Gruppe (g) | darf Inhalt auflisten und betreten und auf Dateien darin zugreifen | |||
| Andere (o) | kein Zugriff |
750=drwxr-x---
Befehl erzeugen
Befehl
chmod 750 /srv/datenGNU chmod lässt ein vorhandenes setgid-Bit eines Verzeichnisses bei der Zifferform stehen. Entfernen mit chmod g-s.
So liest du 750
Jede Ziffer gehört zu einer Gruppe von Benutzern: die erste zum Besitzer der Datei, die zweite zu ihrer Gruppe, die dritte zu allen anderen. Innerhalb einer Ziffer zählt Lesen 4, Schreiben 2 und Ausführen 1. Eine 7 ist also alles (4+2+1), eine 5 Lesen und Ausführen, eine 0 nichts. ls -l zeigt dasselbe als Buchstaben: rwxr-x---.
Datei oder Verzeichnis macht einen Unterschied
Bei einer Datei heißt x „darf als Programm gestartet werden“. Bei einem Verzeichnis heißt x „darf betreten werden“ — ohne x hilft auch r nicht weiter, dann sind nur die Dateinamen sichtbar. Und wer in einem Verzeichnis w hat, darf dort Dateien löschen, auch fremde, solange kein Sticky-Bit gesetzt ist.
Die drei Sonderbits
setuid lässt ein Programm mit den Rechten seines Besitzers laufen — so ändert passwd als normaler Benutzer die Passwortdatei. setgid an einem Verzeichnis sorgt dafür, dass neue Dateien die Gruppe des Verzeichnisses erben, ideal für gemeinsame Ordner. Das Sticky-Bit an einem Verzeichnis erlaubt das Löschen nur dem Besitzer einer Datei, wie in /tmp.
Häufige Fragen
Warum soll ich nicht einfach chmod 777 setzen?
777 erlaubt jedem Benutzer und jedem Dienst auf dem System, die Datei zu ändern oder im Verzeichnis Dateien auszutauschen. Ein kompromittierter Webdienst kann dann zum Beispiel Skripte manipulieren, die später als root laufen. Fast immer ist das eigentliche Problem der falsche Besitzer oder die falsche Gruppe — das löst chown, nicht 777.
Welche Rechte brauchen SSH-Schlüssel?
Der private Schlüssel 600, das Verzeichnis ~/.ssh 700. Sind die Rechte zu offen, verweigert der SSH-Client die Nutzung des Schlüssels, und der SSH-Server ignoriert eine authorized_keys-Datei, die andere beschreiben können.
Was ist der Unterschied zwischen chmod 755 und chmod u=rwx,g=rx,o=rx?
Für die neun normalen Rechte keiner. Bei Verzeichnissen gibt es einen Sonderfall: GNU chmod lässt ein vorhandenes setgid- oder setuid-Bit bei der Zifferform stehen. Zum Entfernen braucht es ausdrücklich chmod g-s.
Passende Tools
Cron-Generator mit Vorschau →
Cron-Zeitplan bauen oder einfügen: Erklärung in Worten, die nächsten Läufe in der Zeitzone des Servers und Warnungen bei typischen Fehlern wie % oder sudo.
find Command Builder →
Dateien nach Name, Größe, Typ und Alter finden — mit korrekter Argument-Reihenfolge und Warnung bei -delete.