Was bedeutet „Chmod 777“?

Index
  1. Dateiberechtigungen verstehen
  2. 777: Was steckt in einer Zahl?
  3. Festlegen von Dateiberechtigungen in der Befehlszeile

Sind Sie ein Linux-Benutzer oder ein Webmaster, der Ihre eigene Website betreibt (die wahrscheinlich auf einem Linux-Server gehostet wird)? Früher oder später werden Sie versuchen, eine Datei hochzuladen oder ein Dokument zu ändern, und erhalten die folgende Fehlermeldung: „Sie haben nicht die Berechtigung, die Datei in den Ordner hochzuladen.“ Nach dem Googeln ist die Lösung oft so einfach wie das Festlegen der Dateiberechtigung in „775“ oder „777.“ Aber was bedeutet „777“? Und warum sollte es "7" sein und nicht "8" oder "9"??

Dateiberechtigungen verstehen

Unix-Systeme (einschließlich Linux und macOS) verfügen über einen Dateikontrollmechanismus, der bestimmt, wer auf eine bestimmte Datei oder einen bestimmten Ordner zugreifen kann und was er mit dieser Datei oder diesem Ordner tun kann.

Der Dateikontrollmechanismus besteht aus zwei Teilen: „Klassen“ und „Berechtigungen.“ Klassen bestimmen, wer auf die Datei zugreifen kann, während Berechtigungen bestimmen, was der Benutzer mit dieser Datei tun kann.

Es gibt drei Klassen: Eigentümer, Gruppe und andere.

  • Der Eigentümer ist normalerweise der Ersteller der Datei oder des Ordners. Unter Linux gehören alle Dateien oder Ordner, die Sie in Ihrem Home-Verzeichnis erstellen, im Allgemeinen Ihnen, es sei denn, Sie ändern ausdrücklich den Besitz.

  • Die Gruppe enthält eine Gruppe von Benutzern, die dieselben Benutzerberechtigungen und -privilegien teilen.

  • Andere bedeutet die allgemeine Öffentlichkeit.

In Bezug auf Berechtigungen gibt es drei Arten von Aktionen, die Sie für eine Datei oder einen Ordner ausführen können:

  • Lesen. Sie dürfen den Inhalt der Datei in keiner Weise verändern. Bei Anwendung auf einen Ordner können Sie nur die Dateien in diesem Ordner sehen; Sie können die Dateien in keiner Weise löschen oder ändern oder dem Ordner weitere Dateien hinzufügen.

  • Schreiben. Sie können die Datei ändern. Wenn Sie Schreibzugriff auf einen Ordner haben, können Sie Dateien in diesem Ordner löschen und hinzufügen.

  • Laufen. Execute wird hauptsächlich verwendet, wenn Sie die Datei ausführen müssen, und wird am häufigsten verwendet, wenn Sie ein Skript ausführen müssen.

Durch die Verwendung von Klassen in Kombination mit Berechtigungen können Sie steuern, wer Zugriff auf eine Datei hat und welche Aktionen er mit dieser Datei ausführen kann.

Der Besitzer der Datei hat normalerweise alle drei Berechtigungen (Lesen, Schreiben und Ausführen). Wenn Sie nicht der Eigentümer der Datei oder des Ordners sind, müssen Sie normalerweise die Eigentümerschaft auf Ihren Namen ändern oder die Gruppen- oder andere Berechtigungen zum Lesen, Schreiben und/oder Ausführen ändern.

Wenn Sie auf einem Webserver eine Datei nicht hochladen können, liegt das wahrscheinlich daran, dass Ihnen der Zielordner nicht gehört. Alternativ verfügen Sie möglicherweise nicht über ausreichende Berechtigungen, um dem Ordner Dateien hinzuzufügen.

777: Was steckt in einer Zahl?

Nachdem wir nun ein grundlegendes Verständnis von Klassen und Berechtigungen haben, sehen wir uns an, warum „777“ und „775“ so wichtig sind.

Jede Datei und jeder Ordner enthält 8-Bit-Daten, die Berechtigungen steuern. In seiner einfachen binären Form bedeutet "000", dass keinerlei Berechtigungen gewährt werden.

Wenn Sie eine „Lese“-Berechtigung festlegen, fügen Sie den Daten 4 Bits hinzu, sodass sie „100“ (im Binärformat) oder „4“ im üblichen Dezimalformat sind. Das Festlegen einer „Schreiben“-Berechtigung fügt den Daten 2 Bits hinzu und wandelt sie in „010“ und „2“ in Dezimalform um. Schließlich fügt das Setzen einer Berechtigung von „Execute“ den Daten 1 Bit hinzu, was zu „001“ oder „1“ in Dezimalform führt. Zusammenfassend:

  • Lesen entspricht "4".

  • Schreiben ist äquivalent zu "2".

  • Ausführen entspricht '1'.

Wenn wir Berechtigungen festlegen möchten, fügen wir einfach eine Zahl hinzu. Um beispielsweise die Berechtigungen „Lesen und Schreiben“ festzulegen, verwenden wir „6“ (4 + 2) für die Berechtigung. Für Lesen, Schreiben und Ausführen verwenden wir „7“ (4 + 2 + 1), um die Berechtigung zu erhalten.

Hier sind die verschiedenen Permutationen:

0 – keine Berechtigung1 – Ausführen2 – Schreiben3 – Schreiben und Ausführen4 – Lesen5 – Lesen und Ausführen6 – Lesen und Schreiben7 – Lesen, Schreiben und Ausführen

Abhängig von den Berechtigungen, die Sie der Datei geben möchten, müssen Sie nur die Anzahl entsprechend festlegen.

Was bedeutet dies für „777“? Die erste Ziffer ist Eigentümer, die zweite Ziffer Gruppe und die dritte Ziffer Andere zugewiesen. Wenn eine Datei die Berechtigung „777“ hat, kann jeder die Datei lesen, schreiben und ausführen.

Hier sind einige der häufig verwendeten Berechtigungen:

  • 755. Dieser Berechtigungssatz wird häufig von Webservern verwendet. Der Besitzer hat alle Berechtigungen zum Lesen, Schreiben und Ausführen. Alle anderen können die Datei lesen und ausführen, aber keine Änderungen an der Datei vornehmen.

  • 777. Jeder kann lesen, schreiben und ausführen. Auf einem Webserver ist es nicht ratsam, die Berechtigung „777“ für Ihre Dateien und Ordner zu verwenden, da dies jedem erlaubt, bösartigen Code zu Ihrem Server hinzuzufügen. In einigen Fällen müssen Sie jedoch die Berechtigungen auf 777 setzen, bevor Sie Dateien auf den Server hochladen können, z. B. beim Hochladen von Bildern in WordPress.

  • 644. Nur der Eigentümer kann lesen und schreiben. Alle anderen können nur lesen. Niemand kann diese Datei ausführen.

  • 655. Nur der Eigentümer kann die Datei lesen und schreiben und kann die Datei nicht ausführen. Alle anderen können die Datei lesen und ausführen, aber nicht ändern.

Festlegen von Dateiberechtigungen in der Befehlszeile

Unter Linux können Sie die Dateiberechtigungen einfach ändern, indem Sie mit der rechten Maustaste auf die Datei oder den Ordner klicken und dann „Eigenschaften“ auswählen.

Wenn Sie ein Mac-Benutzer sind, können Sie die Berechtigungseinstellungen ändern, indem Sie mit der rechten Maustaste auf die betreffende Datei oder den betreffenden Ordner klicken und dann „Get Info“ auswählen. Berechtigungen.“ Dies zeigt die Berechtigungseinstellungen für jedes Konto, das auf Ihrem Mac registriert ist.

Um diese Berechtigungen zu ändern, klicken Sie auf einen der kleinen Pfeile und wählen Sie dann „Lesen & Schreiben“ oder „Nur Lesen“.

Sie können die Berechtigungen auch mit dem Befehl chmod im Terminal ändern. Kurz gesagt, „chmod 777“ bedeutet, dass die Datei für alle lesbar, beschreibbar und ausführbar ist.

chmod 777 /Pfad/zu/Datei

Hoffentlich hat Ihnen dieser Artikel dabei geholfen, Dateiberechtigungen auf Unix-Systemen und den Ursprung der magischen Zahl „777“ besser zu verstehen.

Nachdem Sie nun die Dateiberechtigungen gemeistert haben, möchten Sie vielleicht lernen, wie Sie Text, Dateien und Ordner im Linux-Terminal kopieren und einfügen oder Sticky Bits verwenden, um Dateien in freigegebenen Verzeichnissen zu verwalten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up