Deutsch

Entwicklertools · Chmod-Rechner

Wie chmod-Oktalziffern rwx-Berechtigungsbits (4, 2, 1) zugeordnet werden

· Wie es funktioniert

chmod Unix Entwickler-Workflow

Oktale Berechtigungsziffern werden in Besitzer-, Gruppen- und andere RWX-Bits aufgeteilt
Originale ToolAcre-Vektorillustration

Jede Oktalziffer besteht aus drei getarnten binären Flags. Dieser Beitrag zeigt die Arithmetik, die 7 in rwx und 5 in r-x umwandelt, sodass Sie jeden Modus ohne Nachschlagetabelle lesen und schreiben können.

Die Nummer, die Sie immer wieder einfügen – chmod 755 – funktioniert, aber Sie können nicht sagen, was die 5 gewährt oder wem

Das Ausführen von chmod 755, weil in einer Forumsantwort dies angegeben wurde, gewährt möglicherweise mehr Zugriff, als eine Anwendung benötigt. Ein Unix-Modus ist eine kompakte Kodierung, wer eine Datei lesen, schreiben oder ausführen darf; Bei der Zahl handelt es sich nicht um eine willkürliche Einstellung, die immer dann eingefügt wird, wenn die Berechtigung verweigert wird. Fragen Sie vor dem Ändern nach, welcher Identität die Datei gehört, unter welcher Gruppe ein Prozess ausgeführt wird und welche Aktion tatsächlich fehlgeschlagen ist. Ein syntaktisch gültiger Modus löst keinen falschen Besitzer oder eine fehlende Ausführungsberechtigung für das übergeordnete Verzeichnis.

Drei Klassen, drei Ziffern – Besitzer, Gruppe und andere erhalten jeweils eine Oktalziffer in einer festen Reihenfolge

Drei Oktalziffern beschreiben drei Klassen in der Reihenfolge: Besitzer, Gruppe, andere. In 640 erhält der Besitzer 6, die Gruppe 4 und alle anderen 0. „Andere“ bedeutet nicht Root oder ein Dienstkonto; Dies bedeutet, dass Identitäten bei gewöhnlichen Modus-Bit-Prüfungen weder mit dem Besitzer noch mit der Gruppe der Datei übereinstimmen. Eine optionale führende vierte Ziffer behandelt spezielle Modi wie setuid, setgid und sticky, was ein separates Thema ist und nicht aus den letzten drei abgeleitet werden sollte.

Lesen Sie 4, schreiben Sie 2, führen Sie 1 aus – warum die Gewichte Zweierpotenzen sind und wie sie sich zu jedem Wert von 0 bis 7 addieren

Jede Klasse verfügt über drei Bits mit den Gewichtungen Lesen=4, Schreiben=2 und Ausführen=1. Fügen Sie nur die zulässigen Gewichte hinzu: 7=4+2+1 (rwx), 6=4+2 (rw-), 5=4+1 (r-x) und 0=---. Es handelt sich um Zweierpotenzen, daher ergibt keine Kombination aus drei unabhängigen Flaggen die gleiche Summe wie eine andere. „Verzeichnis ausführen“ bedeutet Durchlaufen, nicht „diesen Ordner ausführen“; Ein Verzeichnis benötigt es oft, damit Benutzer auf die darin enthaltenen Dateien zugreifen können, selbst wenn die Datei selbst über Leseberechtigung verfügt.

Arbeitsbeispiel: 640 und 751 von Hand dekodieren – jede Ziffer in ein binäres Tripel und dann in rwx-Buchstaben umwandeln

640 nach Klasse dekodieren: 6 -> binär 110 -> rw-; 4 -> 100 -> r--; 0 -> 000 -> ---. Die neun Erlaubnisbriefe lauten rw-r-----. Dekodieren Sie 751: 7 -> rwx, 5 -> r-x, 1 -> --x, was rwxr-x--x ergibt. Beachten Sie, wie „andere“ in 751 ohne Lesen oder Schreiben durchlaufen oder ausgeführt werden kann. Das mag für ein Verzeichnis beabsichtigt sein, verdient aber bei einer sensiblen Datei eine Überprüfung. Verwenden Sie den Chmod-Rechner, um die oktalen und symbolischen Ausgaben zu vergleichen, anstatt sich Beispiele zu merken.

In die andere Richtung gehen: von ls -l zu oktal – rwxr-x--- lesen und die Gewichtungen pro Klasse hinzufügen

Arbeiten Sie rückwärts von einem symbolischen Modus wie rwxr-x---. Der Besitzer hat 4+2+1=7, die Gruppe 4+1=5 und andere 0; Das Ergebnis ist 750, nicht 755. Eine lange ls -l-Anzeige hat auch ein führendes Dateitypzeichen und zeigt möglicherweise ein abschließendes + für ACLs an. Geben Sie daher nicht die gesamte Anzeigezeichenfolge in die dreistellige Arithmetik ein. Planen Sie für ein Verzeichnis das Lesen/Schreiben/Ausführen separat für jede Klasse, anstatt den Modus einer benachbarten Datei zu kopieren.

Was dies nicht abdeckt – die führende vierte Ziffer für Setuid, Setgid und Sticky sowie ACLs, die mit einem Pluszeichen gekennzeichnet sind

Diese sieben Abschnitte umfassende exemplarische Vorgehensweise behandelt die gewöhnlichen neun Berechtigungsbits. Es erklärt nicht eine führende 4, 2 oder 1 für setuid, setgid und sticky; Diese Bits ändern das Verhalten eines Programms oder Verzeichnisses und werden in der symbolischen Ausgabe durch s/S oder t/T dargestellt. Zugriffskontrolllisten können den Zugriff über dieses einfache Bild hinaus gewähren oder verweigern. Der ToolAcre-Rechner unterstützt zusätzliche Spezialbits, Sie sollten jedoch deren separate Erklärung lesen, bevor Sie sie auf einem Produktionssystem aktivieren.

Fazit: Ein Modus besteht aus neun Bits, die Sie berechnen können – und mit dem Chmod-Rechner können Sie die Konvertierung in beide Richtungen im Browser überprüfen

Ein Modus besteht aus neun Flaggen, die Sie berechnen können, nicht aus einer Beschwörung. Der Chmod-Rechner konvertiert oktale und symbolische Formen in Ihrem Browser, sodass Sie einen vorgeschlagenen Modus testen können, bevor Sie selbst einen chmod-Befehl ausführen. Das Tool ändert die Berechtigungen auf Ihrem Computer nicht: Es stellt die Zeichenfolge und die Begründung bereit, während Ihre Shell und Ihr Dateisystem unter Ihrer Kontrolle bleiben.