Entwicklertools · Chmod-Rechner
Allgemeine chmod-Modi erklärt: 644, 755, 600, 700, 2775 und 1777
· Hintergrund
chmod Unix Zugriffskontrolle
Eine Handvoll Modi decken fast jede Datei ab, die Sie jemals einstellen werden. In diesem Beitrag wird die jeweilige rwx-Bedeutung, die Konvention dahinter und die Situation, in der es die richtige Wahl ist, erläutert.
Überall die gleichen sechs Zahlen – in den Tutorials heißt es 644 oder 755, ohne jemals die Wahl zu erklären
Vertraute chmod-Nummern werden nützlich, wenn ihre Bits sichtbar sind. Die voreingestellte Liste umfasst 644, 600, 755, 700, 775, 1777, 4755 und 2775, jeweils mit einer Kurzbezeichnung. Wenn Sie einen auswählen, wird der Standard-Renderer gesteuert, der die symbolische Ausgabe, die Berechtigungsmatrix, die vierstellige Zusammenfassung, die Erklärung und die Befehlsvorschau von einem überprüfbaren Wert aus aktualisiert.
Eine Voreinstellung ist keine politische Entscheidung. Die Seite kennt weder Zielbesitz noch Prozessgruppen, ACL-Einträge, Zugriff auf übergeordnete Verzeichnisse oder Dateisystemverhalten. Artikel 501 bietet die bessere Disziplin: Beginnen Sie mit der Identität und der fehlgeschlagenen Aktion. Eine Voreinstellung bietet einen reproduzierbaren Startwert, aber das tatsächliche Objekt und die Umgebung bestimmen, ob dieser Modus geeignet ist.
644 und 755: die Standardwerte – rw-r--r-- für Daten, rwxr-xr-x für Verzeichnisse und Programme und warum umask 022 genau diese erzeugt
In der mitgelieferten Liste werden 644 für eine gewöhnliche Datei und 755 für ein Programm oder Verzeichnis angezeigt, nicht als universelle Standardwerte. Modus 644 ist rw-r--r--: Besitzer liest und schreibt, während Gruppe und andere lesen. Modus 755 ist rwxr-xr-x: Besitzer hat rwx, während Gruppe und andere Lese- und Ausführungsvorgänge empfangen. Beide folgen der Arithmetik 4-2-1.
Zieltyp erklärt, warum einer Zahl die vollständige operative Bedeutung fehlt. Bei Dateien bedeutet „Ausführen“, dass ein Programm ausgeführt wird. Bei Verzeichnissen bedeutet es das Eingeben und Erreichen benannter Einträge. Der Modus bleibt 755, während sich die Prosa ändert. Keine bereitgestellte Quelle berechnet umask oder sagt neu erstellte Modi voraus, daher sollten diese Werte weiterhin als ausgelieferte Voreinstellungen und nicht als unvermeidliche Standardwerte beschrieben werden.
644 und 755 sind ausgelieferte Voreinstellungen, keine universellen Standardeinstellungen
Die Liste bezeichnet 600 als private Datei und 700 als privates Verzeichnis. Modus 600 rendert rw------- und gibt nur dem Besitzer Lese- und Schreibzugriff; Sein Beispiel ist ein privater SSH-Schlüssel. Der Modus 700 rendert rwx------ und gewährt nur dem Eigentümer alle normalen Berechtigungen. In Verzeichnissen verhindern fehlende Gruppen- und andere Bits, dass diese Klassen aufgelistet oder betreten werden.
Private beschreibt Bits, die nur dem Besitzer vorbehalten sind, nicht die überprüfte Sicherheit. Der Rechner überprüft niemals den Besitz, übergeordnete Verzeichnisse, ACLs, Bereitstellungsregeln, obligatorische Richtlinien oder Anwendungsanforderungen. Bestätigen Sie in der Matrix, dass die Gruppen- und anderen Kästchen leer sind, und prüfen Sie dann die Umgebung separat. Die zitierte chmod-Vorschau ist nur Browsertext und wird nicht für den angezeigten Pfad ausgeführt.
600 und 700 werden von der voreingestellten Liste als privat gekennzeichnet
Zwei voreingestellte Adressgruppenfreigaben. Modus 775 rendert rwxrwxr-x und gewährt Besitzer und Gruppe rwx, während andere Lese- und Ausführungsvorgänge empfangen. Der Modus 2775 fügt setgid hinzu, ohne diese gewöhnlichen Tripel zu ändern. Bei Verzeichnissen heißt es in der Erklärung, dass neue Dateien die Gruppe des Verzeichnisses erben. Da die Gruppenausführung festgelegt bleibt, wird setgid in rwxrwsr-x als kleingeschriebenes s angezeigt.
Keine der Voreinstellungen wählt einen Besitzer oder eine Gruppe aus. Die Seite akzeptiert einen Modus und einen Anzeigepfad, führt jedoch keine Identitätssuche oder Chown-Operation durch. Der Hinweis 775 schlägt vor, den beschreibbaren Gruppenzugriff mit setgid zu koppeln, während 2775 als setgid-Verzeichnis gekennzeichnet ist. Die tatsächliche Zusammenarbeit hängt weiterhin von der Gruppenmitgliedschaft und allen zusätzlichen Regeln ab, die vom Zielsystem erzwungen werden.
775 und 2775 modellieren die Gruppenfreigabe ohne Auswahl des Eigentums
Die Voreinstellung 1777 stellt ein weltweit beschreibbares Sticky-Verzeichnis dar, dargestellt durch das Muster /tmp. Seine gewöhnlichen Berechtigungen sind rwxrwxrwx, sodass jede Klasse Listen, Änderungen und Eingaben durchführen kann. Das führende 1 aktiviert Sticky, ersetzt das letzte x durch t und fügt eine Erklärung zum eingeschränkten Löschen hinzu. Dies unterscheidet 1777 von 777, ohne die Basis-RWX-Zuteilungen zu ändern.
Die Verzeichniserklärung bleibt bewusst eng. Sticky erlaubt die Erstellung, während das Löschen oder Umbenennen auf den Eigentümer oder Root einer Datei beschränkt ist. Der Rechner identifiziert keine Identität, inspiziert kein Verzeichnis und beobachtet keine versuchten Vorgänge, keine ACL oder keine Speicherrichtlinie. Behandeln Sie 1777 als erkennbares Muster zum Dekodieren und nicht als automatische Genehmigung für jeden freigegebenen Standort.
1777 wird als Sticky-Shared-Directory-Muster dargestellt
Modus 4755 ist die mitgelieferte Setuid-Programmvoreinstellung. Seine Basis ist 755 und das führende 4 aktiviert setuid. Da Owner Execute vorhanden ist, ist das Ergebnis rwsr-xr-x mit Kleinbuchstaben s. In der Dateierklärung heißt es, dass bei der Ausführung die Identität des Eigentümers und nicht die des Aufrufers verwendet wird, und sowohl darin als auch in der voreingestellten Bezeichnung wird darauf hingewiesen, dass diese seltene Berechtigungsänderung eine Überprüfung verdient.
Die Anzeige kann eine verdächtige Kombination aufdecken, ohne ein Programm zu beurteilen. Wenn setuid bestehen bleibt, während die Ausführung durch den Besitzer gelöscht wird, wird ein großes S angezeigt, wie in 4644, und in der Erklärung wird darauf hingewiesen, dass nichts ausgeführt werden kann. Tests überprüfen beide Formulare und jeden Hin- und Rückflug. Es findet keine Codeüberprüfung, Eigentumsüberprüfung, Fähigkeitsanalyse oder Ausführung statt.
4755 macht ein Setuid-Programm und eine Warnung zum Grund der Überprüfung verfügbar
Der Modus 777 fehlt in den gelieferten Voreinstellungen, obwohl die Bibliothek ihn analysieren kann. Eine 777-Datei löst eine Warnung aus, da jedes Konto ihren Inhalt ändern kann. Ein 777-Verzeichnis gewährt jeder Klasse rwx und ermöglicht ohne Sticky das Löschen von Einträgen, die Benutzern nicht gehören. Nichts in den Quellen stellt 777 als allgemeine Lösung für Berechtigungsfehler dar.
ACL-Freigabe und andere Berechtigungsmodelle sind getrennt. Dieser Konverter repräsentiert einen Besitzer, eine Gruppe, alle anderen und drei spezielle Bits. Es gibt keine benannten ACL-Einträge, Masken, Windows-Syntax, Plattformerkennung oder Dateisystemabfrage. Eine genaue RWX-Konvertierung kann die Diagnose unterstützen, aber plattformspezifische Beweise müssen den Zugriff belegen, der außerhalb des herkömmlichen Modus gewährt wird.
777, ACL-Sharing und andere Plattformen bleiben separate Fragen
Der nützliche Spickzettel ist der Beweis hinter den Zahlen, keine magischen Werte. Wählen Sie eine beliebige mitgelieferte Voreinstellung aus und überprüfen Sie die dadurch aktivierten Eigentümer-, Gruppen-, Sonstiges- und Spezialfelder. Vergleichen Sie die neunstellige symbolische Form mit der vierstelligen Zusammenfassung. Dadurch werden Setuid, Setgid und Sticky verfügbar gemacht, während die Zielauswahl in der Erklärung dafür sorgt, dass sich die Dateiausführung vom Verzeichnisdurchlauf unterscheidet.
Wenden Sie nur die Schlussfolgerung an, die die Seite unterstützt. Eine Voreinstellung liefert ein genaues Bitmuster und eine kurze Zweckbezeichnung, jedoch keine Informationen über Besitzer, Arbeitslast, ACLs, übergeordnete Verzeichnisse, Bereitstellungen oder Bedrohungen. Die Befehlsvorschau wird nie ausgeführt. Beginnen Sie im Anschluss an Artikel 501 mit Identität und Aktion, überprüfen Sie hier die Darstellung und überprüfen Sie dann das reale System, bevor Sie etwas ändern.