Als ich mich das erste Mal aus einer Datei auf einem Produktionsserver ausschloss, folgte ich einem Tutorial, in dem stand & quot; set it to 600" ohne zu erklären, was 600 bedeutet Ich tippte den Befehl, das Deploy-Skript konnte die Datei nicht mehr lesen, und ich verbrachte zwanzig Minuten damit, herauszufinden, dass ich den Gruppenlesezugriff entfernt hatte, den der Webserverprozess benötigte Die Nummer war für einen privaten Schlüssel nicht falsch. Für diese Datei war es falsch, und ich hatte keine Ahnung, warum, weil ich die Erlaubnis als magische Beschwörung und nicht als einen Wert behandelt hatte, den ich verstand.
Unix-Dateiberechtigungen sind eines dieser Themen, die einschüchternd wirken und einfach sind, sobald jemand das Bild zeichnet. Drei Klassen von Benutzern, drei Arten von Zugriffen und eine kleine Menge Arithmetik, die Kontrollkästchen in Zahlen umwandelt chmod Erwartet Das Problem ist, dass die beiden Darstellungen, der numerische Modus wie 755 Und der symbolische Modus wie rwxr-xr-xSieht überhaupt nicht gleich aus, und die Umwandlung zwischen ihnen in Ihrem Kopf ist eine Fähigkeit, die niemand gerne praktiziert.
der Chmod-rechner Die Konvertierung für Sie erledigt und, nützlicher, alle drei Ansichten auf einmal anzeigt Schalten Sie ein Kontrollkästchen und die Oktalzahl, die symbolische Zeichenfolge, und die lauffertige chmod Befehl alle update zusammen Es ist das tool, das ich wünschte, ich hätte den tag, an dem ich brach, dass deploy, weil die erlaubnis aus drei winkeln gleichzeitig zu sehen, ist, was die intuition aufbaut, dass eine einzelne zahl niemals wird.
tl; dr: Unix-Berechtigungen decken drei Klassen (Eigentümer, Gruppe, andere) mit jeweils drei Bits ab (read=4, write=2, execute=1).Ein numerischer Modus wie 755 addiert diese Werte pro Klasse; ein symbolischer Modus wie rwxr-xr-x schreibt sie aus Dieser Rechner konvertiert in Echtzeit zwischen octalen, symbolischen und rwx-Checkboxen, verarbeitet die setuid, setgid, und Sticky-Spezialbits und generiert den genauen chmod-Befehl Er läuft vollständig in Ihrem Browser ohne Signup.
Welches Problem löst ein chmod-Rechner?
Die Kernschwierigkeit besteht darin, dass dieselbe Berechtigung zwei Gesichter hat, die keine visuelle Ähnlichkeit aufweisen Dokumentation und ls -l Zeig dir rwxr-xr-xdrohen der chmod Befehl will in der Regel 755. Um sich zwischen ihnen zu bewegen, muss jede aus drei Buchstaben bestehende Gruppe in eine Ziffer umgewandelt werden, indem Lesen, Schreiben und Ausführen addiert werden. Dies geschieht zuverlässig unter Druck auf einem Server mit einem Tippfehler, einen Tastendruck von einer Sperre entfernt, genau dann, wenn eine Person macht Fehler.
Ein Taschenrechner entfernt die Arithmetik und, genauso wichtig, die MehrdeutigkeitWenn man das sieht 755 ist rwxr-xr-x Ist " owner: read, write, execute; group und andere: read, execute, " die Berechtigung hört auf, eine Zahl zu sein, die Sie sich gemerkt haben, und wird zu einer Anweisung, die Sie lesen können Das ist der Unterschied zwischen dem Kopieren eines Modus aus einem Tutorial und dem Wissen, ob der Modus für Ihre Datei der richtige ist.
Einen Sicherheitswinkel gibt es auch Berechtigungen sind eines der wenigen Dinge, bei denen ein kleiner Fehler überdimensionale Folgen hat Legen Sie einen privaten Schlüssel fest 644 Und jeder Benutzer auf der Box kann es lesen Stellen Sie ein Webverzeichnis auf ein 777 Und du hast Schreibzugriff auf die Welt übergeben Ein Tool, das auf gut Deutsch ausschreibt, was ein Modus erlaubt, neben der Nummer, ist eine Vernunftprüfung, die du ausführst, bevor du die Änderung beginnst, und nicht, nachdem du einen Vorfall verursacht hast Die gleiche Privatsphäre-zuerst, vor-dir-verstehen-Denkweise zieht sich durch die Datenschutz Online-Tools Anleitung, und es gilt sowohl für Berechtigungen als auch für alles, was Sie in ein Formular einfügen.
Wie funktionieren die Berechtigungen für Unix-Dateien?
Jede Datei und jedes Verzeichnis auf einem POSIX-System trägt Berechtigungen für drei Benutzerklassen. Der Eigentümer ist das Konto, dem die Datei gehört. Die Gruppe ist eine benannte Gruppe von Benutzern, die eine Zugriffsebene teilen. Andere sind alle anderen auf dem System Jede dieser drei Klassen hat drei unabhängige Bits: Lesen, Schreiben und Ausführen.
Was diese Bits bedeuten, unterscheidet sich geringfügig zwischen Dateien und Verzeichnissen, was ein Detail ist, das die Leute aufstöbert In einer Datei können Sie mit lesen den Inhalt anzeigen, schreiben lässt Sie sie ändern und ausführen lässt Sie die Datei als Programm ausführen In einem Verzeichnis, lesen lässt Sie die Einträge auflisten, schreiben lässt Sie Einträge darin erstellen und löschen, und ausführen lässt Sie das Verzeichnis eingeben und Dateien darin namentlich aufrufen Deshalb benötigt ein Verzeichnis fast immer den Ausführungsbitsatz für jede Klasse, die es überhaupt verwenden sollte können, auch wenn & quot; ein Verzeichnis ausführen lässt" klingt ungerade Der Rechner ordnet jedes der neun Bits einem Ankreuzfeld zu, sodass Sie das vollständige Bild auf einen Blick sehen und den Zugriff genau beabsichtigen.
Wie werden die Oktal-Berechtigungszahlen berechnet?
Dies ist das Stück Arithmetik, das es wert ist, einmal verstanden zu werden, denn danach lesen sich die Zahlen selbst Innerhalb jeder Klasse ist lesen 4 wert, schreiben ist 2 wert, und ausführen ist 1. Diese drei Werte wurden gewählt, weil sie Zweierpotenzen sind, was bedeutet, dass sich jede Kombination zu einer eindeutigen Summe zwischen 0 und 7 summiert. Hier ist die vollständige Abbildung.
| Oktalziffer | binär | Symbolisch | Bedeutung |
|---|---|---|---|
| 7 | 111 | rwx | Lesen, schreiben, ausführen |
| 6 | 110 | Rw- | Lesen, schreiben |
| 5 | 101 | Rx | Lesen, ausführen |
| 4 | 100 | R- | Nur lesen |
| 3 | 011 | -wx | Schreiben, ausführen |
| 2 | 010 | -w- | Nur schreiben |
| 1 | 001 | -x | Nur ausführen |
| 0 | 000 | --- | Kein Zugriff |
Ein Vollmodus ist drei dieser Ziffern, im Orderbesitzer, Gruppe, andere Also 755 Liest als Besitzer 7 (lesen, schreiben, ausführen), Gruppe 5 (lesen, ausführen), andere 5 (lesen, ausführen).Der Rechner macht diese Ergänzung in beide Richtungen: Häkchen setzen und die Ziffer erscheinen sehen, oder die Ziffer eingeben und zusehen, wie sich die Kästchen ausfüllen. Wenn Sie es ein paar Mal im Tool machen, hört die obige Tabelle auf, etwas zu sein, das Sie nachschlagen, und wird zu etwas, das Sie kennen.
Was bedeuten chmod 755 und chmod 644?
Dies sind die beiden Modi, die Sie häufiger als alle anderen verwenden werden. Es lohnt sich also, sie in den Speicher einzubinden, und der Taschenrechner ist die schnellste Möglichkeit zu erkennen, warum jeder einzelne der Standard für seinen Job ist.
chmod 755 Gibt dem Besitzer vollen Zugriff (lesen, schreiben, ausführen) und gibt der Gruppe und anderen das Lesen und Ausführen Es ist der Standardmodus für Verzeichnisse und für Skripte oder Programme, die jeder ausführen können sollte, aber nur der Besitzer ändern können sollte Das Execute Bit auf Gruppe und andere ist es, was andere Benutzer in das Verzeichnis eingeben oder das Skript ausführen lässt.
chmod 644 Gibt dem Besitzer Lesen und Schreiben, und gibt der Gruppe und anderen nur Lesen, ohne irgendwo auszuführen Es ist der Standardmodus für reguläre Dateien wie HTML-Seiten, Bilder, Konfiguration, die weltweit lesbar sein sollten, und Quelldateien, wo der Besitzer bearbeitet und alle anderen nur lesen müssen Es gibt keinen Grund für eine Nur-Text-Datei ausführbar zu sein, also lässt 644 dieses Bit weg.
Das Muster, das man bemerken sollte, ist, dass Verzeichnisse und ausführbare Dateien 755 erhalten, während gewöhnliche Dateien 644 erhalten, und der einzige Unterschied besteht im Ausführungsbit. Sehen Sie diese beiden Modi nebeneinander im Rechner, mit den symbolischen Zeichenfolgen rwxr-xr-x und rw-r--r-- Im Folgenden wird die Beziehung auf eine Weise deutlich, die das Auswendiglernen zweier Zahlen niemals ermöglicht.
Was sind die Setuid-, Setgid- und Sticky-Bits?
Jenseits der neun Standardbits gibt es drei spezielle Bits, die durch eine optionale vierte Ziffer an der Vorderseite des Modus gesetzt werden, und dort werden Berechtigungen wirklich subtil Der Rechner legt jedes als sein eigenes Ankreuzfeld dar und faltet das Ergebnis sowohl in die führende Oktalziffer als auch in die symbolische Zeichenfolge, genau wie ls -l Zeigt sie an.
Das Setuid-Bit, das in der speziellen Ziffer 4 wert ist, führt eine ausführbare Datei mit den Berechtigungen seines Besitzers aus und nicht mit dem Benutzer, der es gestartet hat. Das klassische Beispiel ist das passwd Befehl, der in eine Systemdatei schreiben muss, die gewöhnliche Benutzer nicht berühren können In einer symbolischen Auflistung verwandelt setuid den Besitzer' s Zeichen ausführen in s, So 755 Mit setuid wird rwsr-xr-x Und der Modus geschrieben wird 4755drohen
Das setgid-Bit im Wert von 2 macht dasselbe für die Gruppe, und auf einem Verzeichnis macht es etwas extra: neue Dateien, die im Inneren erstellt werden, erben das Verzeichnis' s-Gruppe statt der Ersteller' s-Primärgruppe, was ein freigegebener Projektordner benötigt Es zeigt als s In der Gruppe's Position ausführen.
Das Sticky Bit im Wert von 1 gilt hauptsächlich für Verzeichnisse Wenn es gesetzt ist, kann nur ein Besitzer von file' s diese Datei innerhalb des Verzeichnisses löschen oder umbenennen, auch wenn andere Schreibzugriff auf das Verzeichnis haben Das ist es, was bleibt /tmp Als gemeinsam genutzter Rubbelplatz nutzbar, ohne dass Benutzer sich gegenseitig löschen können' s-Dateien Es wird angezeigt als t In den anderen' Position ausführen, also ist ein weltweit beschreibbares Temp-Verzeichnis 1777, oder rwxrwxrwt. Wenn ein spezielles Bit gesetzt ist, das zugrunde liegende Ausführungsbit jedoch ausgeschaltet ist, wird der Buchstabe großgeschrieben S oder T, und der Rechner gibt das genau so wieder, dass seine Ausgabe immer mit einer echten Auflistung übereinstimmt.
Was ist der Unterschied zwischen numerischen und symbolischen Modi?
Beide beschreiben die gleichen Berechtigungen; es sind nur zwei Notationen, und zu wissen, wann man die einzelnen verwendet, spart Reibung Numerischer Modus, die Oktalziffern wie 755, ist kompakt und absolut Es setzt jedes Bit auf einmal, weshalb es die Form ist, die Sie in den meisten chmod Beispiele und Bereitstellungsskripte Symbolischer Modus, die Buchstaben wie rwxr-xr-x„ist was ls -l Druckt, so ist es das Formular, das Sie bei der Inspektion eines Systems lesen.
Die symbolische Notation hat auch eine relative Form chmod Akzeptiert und der Rechner braucht nicht zu generieren, ist aber wissenswert: chmod u+x file Fügt für den Besitzer ausführen, ohne etwas anderes zu berühren, und chmod go-w file Entfernt Schreib aus Gruppe und anderen Diese relative Form ist praktisch an der Befehlszeile, wenn Sie ein Bit ändern und den Rest in Ruhe lassen möchten Der Rechner handelt in absoluten Modi, was das richtige Modell ist, wenn Sie entscheiden, was eine Datei sein soll' s Berechtigungen sollten, anstatt ein Bit anzustoßen, und es gibt Ihnen das Oktal zum Tippen und das Symbolische, gegen das Sie überprüfen können ls -l Danach. Für das maßgebliche Verhalten gilt die POSIX-Spezifikation für chmod und die Dateimodusbits sind die primäre Referenz.
Wie der Rechner jede Ansicht synchron hält
Das Designprinzip hinter dem Tool ist, dass es eine Quelle der Wahrheit gibt, die Menge der Berechtigungsbits, und jede Darstellung wird daraus abgeleitet Schalten Sie ein Ankreuzfeld um und die oktale, symbolische, Befehls - und einfach-englische Beschreibung berechnen alle aus demselben Zustand neu Geben Sie einen gültigen oktalen oder symbolischen Wert ein und die Bits aktualisieren Sie, was zu jeder anderen Ansicht zurückfließt. Das bedeutet, dass die drei Notationen niemals anderer Meinung sein können, was der gesamte Punkt ist: ein Konverter, der zeigen könnte 755 Neben der falschen symbolischen Zeichenfolge wäre schlimmer, als die Rechnung von Hand zu machen.
Die Zusammenfassung in einfachem Englisch ist der Teil, den ich am meisten lese. Sie buchstabiert, eine Zeile pro Klasse, genau das, was der aktuelle Modus zulässt, und markiert jedes spezielle Bit in Worten. Bevor ich eine Berechtigung für ein reales System anwende, ist dieser Satz der Scheck, der den Unterschied zwischen dem, was ich eingegeben habe, und dem, was ich meinte, auffängt. Halten Sie einen schnellen, zuverlässigen Konverter wie diesen neben den anderen Entwicklerdienstprogrammen, die ich verwende, die base64-konverter und das Hash-generator Unter ihnen ist Teil des in der beschriebenen Arbeitsablaufs Entwicklerproduktivitätstools Führer, und die breitere Sammlung lebt in der Anleitung für die Coding-Toolsdrohen
Ein schneller Workflow, um Berechtigungen richtig zu erhalten
So verwende ich das Tool in der Praxis Wenn mir ein Tutorial oder eine Fehlermeldung einen Modus gibt, füge ich das Oktal in den Taschenrechner ein und lese die einfache englische Zusammenfassung, um zu bestätigen, dass es das tut, was der Kontext braucht Wenn ich Berechtigungen von Grund auf neu einstelle, beginne ich mit einer Voreinstellung, die nahe an dem liegt, was ich möchte 644 Für eine Datei oder 755 Für ein Verzeichnis oder Skript, dann einzelne Bits umschalten und das Beschreibungsupdate so lange ansehen, bis genau steht, was ich beabsichtige Dann kopiere ich die generierten chmod Befehl und lauf es aus Die ganze Schleife dauert Sekunden und sie hält mich von mehr als einer Sperre ab, seit ich aufgehört habe, Zahlen zu erraten.
Die Presets decken die Modi ab, die täglich angezeigt werden, und die Spezialbit-Checkboxen sind für die selteneren Fälle da, wenn Sie setgid auf einem freigegebenen Verzeichnis oder das Sticky-Bit auf einem Temp-Ordner wirklich benötigen Wenn Sie auch mit JSON, YAML und anderen Formaten auf denselben Servern arbeiten, ist die JSON-Formater und CSS-Formatierer Runden Sie die Menge der kleinen, clientseitigen Dienstprogramme ab, die die Routinearbeit beschleunigen.
Häufig gestellte Fragen
Was ist ein chmod-Rechner?
Ein chmod-Rechner konvertiert Unix-Dateiberechtigungen zwischen numerischen Oktalmodi, symbolischen rwx-Strings und individuellen Lese, Schreib - und Ausführungseinstellungen, Er gibt Ihnen den genauen chmod-Befehl für die gewünschten Berechtigungen ohne manuelle Oktal-Mathe.
Was bedeutet chmod 755?
Chmod 755 gibt dem Besitzer Lesen, Schreiben und Ausführen (7), und die Gruppe und andere lesen und ausführen (5 und 5) Es ist der gängige Modus für Skripte und Verzeichnisse: der Besitzer kann sie ändern, alle anderen können sie ausführen oder eingeben, aber nicht ändern.
Was bedeutet chmod 644?
Chmod 644 gibt dem Besitzer Lesen und Schreiben (6) und der Gruppe und anderen nur Lesen (4 und 4).Es ist der Standardmodus für reguläre Dateien, der von ihrem Besitzer bearbeitet und von allen anderen lesbar sein sollte.
Wie werden Oktalberechtigungszahlen berechnet?
Jede Berechtigungsklasse ist eine Oktalziffer, die durch Hinzufügen von Lesen (4), Schreiben (2) und Ausführen (1) aufgebaut wird. Es wird also 7 gelesen, schreiben und ausführen, 6 wird gelesen und schreiben, 5 wird gelesen und ausgeführt und 4 wird nur gelesen. Die drei Ziffern sind Eigentümer, Gruppe und andere in dieser Reihenfolge.
Was sind die Setuid-, Setgid- und Sticky-Bits?
Es handelt sich um Sonderberechtigungsbits, die durch eine vierte führende Oktalziffer gesetzt werden. setuid (4) führt eine Datei mit den Eigentümerrechten aus, setgid (2) führt sie mit den Gruppenrechten aus oder teilt die Gruppe in Verzeichnissen, und das Sticky Bit (1) ermöglicht es nur einem Dateibesitzer, sie in einem gemeinsam genutzten Verzeichnis zu löschen.
Was ist der Unterschied zwischen numerischen und symbolischen Modi?
Der numerische Modus verwendet Oktalziffern wie 755. Der symbolische Modus verwendet Buchstaben wie rwxr-xr-x, die mit der ls-l-Liste übereinstimmen Sie beschreiben dieselben Berechtigungen; dieses Tool konvertiert zwischen ihnen, sodass Sie verwenden können, was die Dokumentation oder der Befehl erwartet.
Funktioniert der Chmod-Rechner mobil?
Ja. Das Tool ist voll responsive und funktioniert in jedem modernen Browser auf Telefonen, Tablets und Desktops Die Conversions sind identisch, unabhängig vom verwendeten Gerät.
Ist der Chmod-Rechner kostenlos?
Ja. Es ist völlig kostenlos ohne Anmeldung, ohne Wasserzeichen und ohne Nutzungsbeschränkungen Alle Konvertierungen passieren in Ihrem Browser und es wird nichts an einen Server gesendet.



