Înțelegerea permisiunilor de fișiere: Ce înseamnă „Chmod 777”?

Grundlegendes zu Dateiberechtigungen: Was bedeutet “Chmod 777”?

⌛ Reading Time: 5 minutes

Sind Sie ein Linux-Benutzer oder ein Webmaster, der Ihre eigene Website verwaltet (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 es wird die folgende Fehlermeldung angezeigt: “Sie haben nicht die Berechtigung, eine Datei in den Ordner hochzuladen.” Nach einigem Googeln ist die Lösung oft so einfach wie das Setzen der Dateiberechtigung auf “775” oder “777”. Aber was bedeutet “777”? Und warum muss es “7” sein und nicht “8” oder “9”?

Grundlegendes zu Dateiberechtigungen

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

Der Dateisteuerungsmechanismus besteht aus zwei Teilen: “Klassen” und “Berechtigungen”. Klassen bestimmen, wer auf die Datei zugreifen kann, während die 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 normalerweise alle Dateien oder Ordner, die Sie in Ihrem Home-Verzeichnis erstellen, Ihnen, es sei denn, Sie ändern ausdrücklich den Besitz.
  • Die Gruppe enthält eine Gruppe von Benutzern, die dieselben Berechtigungen und Benutzerrechte verwenden.
  • Andere bedeuten die breite Öffentlichkeit.

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

  • Lesen. Sie können den Inhalt der Datei in keiner Weise ändern. Bei Anwendung auf einen Ordner können Sie nur die Dateien in diesem Ordner anzeigen. 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 löschen und zu diesem Ordner hinzufügen.
  • Ausführen. 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.
In der Dropdown-Liste "Zugriff" werden die aktuellen Dateiberechtigungen angezeigt.

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

Der Dateibesitzer verfügt normalerweise über alle drei Berechtigungen (Lesen, Schreiben und Ausführen). Wenn Sie nicht der Eigentümer der Datei oder des Ordners sind, müssen Sie in der Regel die Eigentümerschaft in Ihren Namen ändern oder die Berechtigungen von Group oder anderen zum Lesen, Schreiben und / oder Ausführen ändern.

Wenn Sie auf einem Webserver keine Datei hochladen können, liegt dies wahrscheinlich daran, dass Sie nicht der Eigentümer des Zielordners sind. Alternativ verfügen Sie möglicherweise nicht über ausreichende Berechtigungen, um Dateien zum Ordner hinzuzufügen.

777: Was ist in einer Nummer?

Nachdem wir nun ein grundlegendes Verständnis für Klassen und Berechtigungen haben, wollen wir sehen, warum „777“ und „775“ so wichtig sind.

Jede Datei und jeder Ordner enthält 8-Bit-Daten, die die Berechtigungen steuern. In seiner binären Grundform bedeutet “000”, dass keine Berechtigungen in irgendeiner Form erteilt werden.

Wenn Sie eine Leseberechtigung festlegen, werden den Daten 4-Bit hinzugefügt, sodass sie “100” (im Binärformat) oder “4” im üblichen Dezimalformat sind. Durch Festlegen einer Schreibberechtigung werden die Daten um 2 Bit erweitert, sodass sie in Dezimalform auf „010“ und „2“ gesetzt werden. Wenn Sie die Berechtigung “Ausführen” festlegen, wird den Daten 1 Bit hinzugefügt, was zu “001” oder “1” in Dezimalform führt. Zusamenfassend:

  • Lesen entspricht ‘4’.
  • Schreiben entspricht ‘2’.
  • Ausführen entspricht ‘1’.

Wenn wir Berechtigungen festlegen möchten, fügen wir einfach eine Nummer hinzu. Um beispielsweise die Berechtigungen auf “Lesen und Schreiben” zu setzen, verwenden wir “6” (4 + 2) für die Berechtigung. Zum Lesen, Schreiben und Ausführen verwenden wir “7” (4 + 2 + 1) für die Berechtigung.

Hier ist die unterschiedliche Permutation:

0 – keine Erlaubnis
1 – ausführen
2 – schreiben
3 – schreiben und ausführen
4 – lesen
5 – lesen und ausführen
6 – lesen und schreiben
7 – Lesen, Schreiben und Ausführen

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

Was bedeutet das für “777”? Die erste Ziffer wird dem Eigentümer zugewiesen, die zweite Ziffer wird der Gruppe zugewiesen und die dritte Ziffer wird den Anderen 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. Diese Berechtigungen werden häufig von Webservern verwendet. Der Eigentümer verfügt über alle Berechtigungen zum Lesen, Schreiben und Ausführen. Alle anderen können 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 ermöglicht, Ihrem Server schädlichen Code hinzuzufügen. In einigen Fällen müssen Sie jedoch die 777-Berechtigungen festlegen, bevor Sie eine Datei auf den Server hochladen können – zum Beispiel: Hochladen von Bildern in WordPress.
  • 644. Nur der Besitzer kann lesen und schreiben. Alle anderen können nur lesen. Niemand kann diese Datei ausführen.
  • 655. Nur der Eigentümer kann lesen und schreiben und die Datei nicht ausführen. Alle anderen können die Datei lesen und ausführen und 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. Dadurch wird eine Registerkarte “Berechtigung” geöffnet, auf der Sie die Dateiberechtigungen ändern können.

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 “Informationen abrufen” auswählen. Im folgenden Fenster können Sie auf klicken, um den Abschnitt “Freigabe und Berechtigungen” zu erweitern. Hier werden die Berechtigungseinstellungen für jedes auf Ihrem Mac registrierte Konto angezeigt.

Sie können die Dateiberechtigungen im macOS-Menü

Um diese Berechtigungen zu ändern, klicken Sie auf einen der kleinen Pfeile und wählen Sie dann entweder “Lesen & Schreiben” oder “Schreibgeschützt”.

Sie können die Dateiberechtigungen unter macOS ändern. "Informationen bekommen" Speisekarte.

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

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

Nachdem Sie die Dateiberechtigungen beherrschen, möchten Sie möglicherweise lernen, wie Sie Text, Dateien und Ordner im Linux-Terminal kopieren und einfügen oder Sticky Bit zum Verwalten von Dateien in freigegebenen Verzeichnissen verwenden.

Verbunden:

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.