Anleitung
- Setzen Sie Häkchen bei Lesen, Schreiben und Ausführen für Besitzer, Gruppe und alle anderen.
- Oder geben Sie einen Oktalwert wie 640 oder eine symbolische Zeichenfolge wie rw-r----- oder -rw-r----- aus ls -l ein.
- Fügen Sie bei Bedarf setuid, setgid oder das Sticky Bit hinzu oder wählen Sie einen gängigen Wert.
- Geben Sie den Dateinamen ein und kopieren Sie den chmod-Befehl.
So funktioniert es
Jede der drei Klassen (Eigentümer, Gruppe, Andere) hat drei Berechtigungen. Lesen zählt 4, Schreiben 2 und Ausführen 1, und ihre Summe ist eine Oktalziffer, also rwx = 7, r-x = 5 und r-- = 4. Drei Ziffern ergeben den Modus: 755 bedeutet rwx für den Eigentümer und r-x für Gruppe und Andere.
Eine optionale vierte Ziffer vorn enthält die Spezialbits: 4 für setuid, 2 für setgid und 1 für sticky. In symbolischer Form ersetzen sie die Ausführungsposition: s für setuid oder setgid, t für sticky. Ein großes S oder T bedeutet, dass das Spezialbit gesetzt ist, aber Ausführen nicht, was normalerweise ein Fehler ist.
Das symbolische Feld akzeptiert neun Zeichen (rwxr-xr-x) oder die zehnstellige Form, die ls -l ausgibt, wobei das erste Zeichen der Dateityp ist (- für eine Datei, d für ein Verzeichnis) und hier ignoriert wird. Ein abschließendes . oder + von SELinux oder ACLs wird ebenfalls akzeptiert.
Zwei Befehle werden angezeigt: die Oktalform, die alle Bits auf einmal setzt, und die entsprechende symbolische Form wie u=rwx,g=rx,o=rx. Dateinamen mit Leerzeichen oder anderen Sonderzeichen werden für die Shell in Anführungszeichen gesetzt; ein führendes ~/ und die Platzhalter * und ? bleiben ohne Anführungszeichen, damit die Shell sie erweitern kann. Bei GNU chmod löscht ein Oktalmodus auf einem Verzeichnis gesetzte setuid- oder setgid-Bits nicht; verwenden Sie die symbolische Form oder einen fünfstelligen Modus wie 00755, wenn Sie sie entfernen müssen.
Beispiele
Webdateien und -ordner
Dateien, die der Webserver nur liest, sind normalerweise 644 (rw-r--r--), und Verzeichnisse 755 (rwxr-xr-x), damit sie betreten und aufgelistet werden können.
Privater SSH-Schlüssel
SSH verweigert Schlüssel, die andere lesen können. Aktivieren Sie nur Lesen und Schreiben für den Eigentümer, um 600 zu erhalten, und den Befehl chmod 600 ~/.ssh/id_ed25519 (geben Sie den Pfad als Dateinamen ein).
Gemeinsames Upload-Verzeichnis
Verzeichnisse wie /tmp verwenden 1777 (rwxrwxrwt): Jeder kann Dateien anlegen, aber das Sticky Bit verhindert, dass Benutzer Dateien anderer löschen.
Häufig gestellte Fragen
Was ist der Unterschied zwischen 755 und 775?
Mit 775 kann die Gruppe auch schreiben (Dateien in einem Verzeichnis erstellen, ändern und löschen). Mit 755 kann nur der Besitzer schreiben; Gruppe und andere können lesen und ausführen.
Warum sollte ich 777 vermeiden?
777 erlaubt jedem Benutzer im System, die Datei zu ändern oder zu ersetzen. Auf einem Webserver kann dadurch ein anderes Konto oder ein kompromittierter Prozess Code einschleusen. Gewähren Sie Schreibzugriff nur für den Besitzer oder eine bestimmte Gruppe.
Was bedeutet Ausführen bei einem Verzeichnis?
Bei einem Verzeichnis bedeutet Ausführen (x) die Berechtigung, es zu betreten und auf enthaltene Dateien zuzugreifen. Nur Lesen erlaubt das Auflisten der Namen, aber nicht das Öffnen der Dateien.
Ändert das Berechtigungen auf meinem Computer?
Nein. Es berechnet nur Werte und erstellt den Befehlstext. Den Befehl führen Sie selbst in einem Terminal aus.
Datenschutz
Alles wird in Ihrem Browser berechnet. Der eingegebene Dateiname wird nirgendwohin gesendet, gespeichert oder in Analysen einbezogen.