Der Chmod-Befehl und Linux-Dateiberechtigungen erklärt

Wenn Sie Dateiberechtigungen auf jedem Linux-Betriebssystem ordnungsgemäß verwalten möchten, müssen Sie den Befehl chmod kennen.

Wenn Sie Dateiberechtigungen auf jedem Linux-Betriebssystem ordnungsgemäß verwalten möchten, müssen Sie den Befehl chmod kennen.
Werbung

Sie haben also einen Linux-Geschmack gefunden, den Sie mögen, aber jetzt sind Sie verwirrt, weil Sie nicht den geringsten Hinweis auf Terminalbefehle und Linux-Dateiberechtigungen haben?

Oder vielleicht haben Sie eine Website, die auf einem Linux-Server gehostet wird, und Sie sind in einige Probleme mit der Dateiberechtigungen geraten, die nur mit einiger Kommandozeilen-Magie gelöst werden können.

Unabhängig davon, eine der wichtigsten Linux-Befehle zu lernen Eine AZ von Linux - 40 wesentliche Befehle, die Sie wissen sollten Eine AZ von Linux - 40 wesentliche Befehle, die Sie kennen sollten Linux ist das häufig ignorierte dritte Rad zu Windows und Mac. Ja, in den letzten zehn Jahren hat das Open-Source-Betriebssystem eine Menge an Zugkraft gewonnen, aber es ist immer noch weit davon entfernt, in Betracht gezogen zu werden ... Read More ist ein kleiner, aber mächtiger Befehl namens chmod . Bevor wir jedoch erklären, was der Befehl bewirkt, müssen wir zuerst ein wenig darüber verstehen, wie Linux mit der Dateisicherheit umgeht.

Die Grundlagen von Linux-Dateiberechtigungen

Linux-Betriebssysteme sind eigentlich Unix-ähnliche Systeme (Linux oder Unix verstehen), und Unix-ähnliche Systeme nähern sich Dateiberechtigungen wie folgt:

Jede Datei hat einen Eigentümer, der die "Benutzerklasse" der Datei bestimmt. Jede Datei hat auch eine Gruppe, die die "Gruppenklasse" der Datei bestimmt. Jeder Systembenutzer, der nicht der Eigentümer ist und nicht zur selben Gruppe gehört, ist entschlossen, andere zu sein .

Alle Dateien auf Unix-ähnlichen Systemen haben Berechtigungen, die allen drei Klassen zugewiesen sind, und diese bestimmen, welche Aktionen von den Klassen für die gegebene Datei ausgeführt werden können.

Die drei auf einem Unix-ähnlichen System verfügbaren Aktionen sind: Lesen (die Fähigkeit, den Inhalt der Datei zu öffnen und zu betrachten), Schreiben (die Fähigkeit, den Inhalt einer Datei zu öffnen und zu ändern) und Ausführen (die Fähigkeit, die Datei auszuführen ) Datei als ausführbares Programm).

Mit anderen Worten, die Berechtigungen einer Datei bestimmen, ob:

  • Der Besitzer kann die Datei lesen, schreiben und ausführen.
  • Die Gruppe kann die Datei lesen, schreiben und ausführen.
  • Jeder andere kann die Datei lesen, schreiben und ausführen.

Linux-Dateiberechtigungen können in zwei Formaten angezeigt werden.

Das erste Format wird als symbolische Notation bezeichnet . Dabei handelt es sich um eine Zeichenfolge mit 10 Zeichen: ein Zeichen für den Dateityp und neun Zeichen für die Berechtigungen read (r), write (w) und execute (x) in der Reihenfolge Besitzer, Gruppe und andere. Wenn nicht erlaubt, wird das Bindestrichsymbol (-) verwendet.

Beispielsweise:

-rwxr-xr-- 

Dies bedeutet, dass es sich um eine reguläre Datei mit Lese-, Schreib- und Ausführungsberechtigungen für den Eigentümer handelt. Lesen und Ausführen von Berechtigungen für die Gruppe; und nur Berechtigungen für alle anderen lesen.

Das zweite Format wird als numerische Notation bezeichnet, bei der es sich um eine Zeichenfolge aus drei Ziffern handelt, die jeweils Benutzer-, Gruppen- und andere Berechtigungen darstellen. Jede Ziffer kann zwischen 0 und 7 liegen, und der Wert jeder Ziffer wird durch Addition der Berechtigungen der Klasse ermittelt:

  • 0 bedeutet, dass keine Berechtigungen erlaubt sind.
  • +1, wenn die Klasse die Datei ausführen kann.
  • +2, wenn die Klasse in die Datei schreiben kann.
  • +4 wenn die Klasse die Datei lesen kann.

Mit anderen Worten, die Bedeutung jedes Ziffernwertes endet mit:

  • 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

Das obige Beispiel ( -rwxr-xr-- ) wäre also 754 in numerischer Schreibweise.

Das sind Linux-Dateiberechtigungen auf den Punkt gebracht.

Was ist Chmod?

Auf Unix-ähnlichen Systemen ist chmod ein Befehl auf Systemebene, der für "Änderungsmodus" steht und Ihnen ermöglicht, die Berechtigungseinstellungen einer Datei manuell zu ändern.

Nicht zu verwechseln mit chown, einem anderen System-Level-Befehl auf Unix-ähnlichen Systemen, der für "change owner" steht und Ihnen die Eigentümerschaft einer Datei einem anderen Benutzer zuweisen kann, oder chgrp, was für "change group" steht und zuweist eine Datei an eine andere Gruppe. Diese sind wichtig zu wissen, aber nicht so häufig wie chmod.

Was bedeutet Chmod 644?

Wenn Sie die Berechtigungen einer Datei auf 644 setzen, kann nur der Eigentümer auf die Datei zugreifen und sie ändern, wie sie möchten, während alle anderen nur darauf zugreifen können, ohne Änderungen vorzunehmen, und niemand kann die Datei ausführen - nicht einmal den Eigentümer. Dies ist die ideale Einstellung für Dateien, die öffentlich zugänglich sind, da Flexibilität und Sicherheit im Gleichgewicht sind.

Was bedeutet Chmod 755?

Das Festlegen der Berechtigungen einer Datei auf 755 ist im Grunde dasselbe wie 644, außer dass alle Benutzer auch Ausführungsberechtigungen haben. Dies wird hauptsächlich für öffentlich zugängliche Verzeichnisse verwendet, da die Ausführungsberechtigung benötigt wird, um in ein Verzeichnis zu wechseln.

Was bedeutet Chmod 555?

Wenn Sie die Dateiberechtigungen auf 555 setzen, kann die Datei von niemandem außer dem Superuser des Systems geändert werden (erfahren Sie mehr über den Linux-Superuser Was ist SU? Warum ist es wichtig, Linux effektiv zu verwenden? Was ist SU? Wichtig für die effektive Verwendung von Linux? Das Linux SU oder root Benutzerkonto ist ein mächtiges Werkzeug, das hilfreich sein kann, wenn es richtig verwendet wird, oder verheerend, wenn es rücksichtslos verwendet wird. Schauen wir uns an, warum Sie bei der Verwendung von SU verantwortlich sein sollten. Dies wird nicht so häufig verwendet wie 644, aber es ist immer noch wichtig zu wissen, da die schreibgeschützte Einstellung versehentliche Änderungen und / oder Manipulationen verhindert.

Was bedeutet Chmod 777?

Wenn Sie die Berechtigungen einer Datei auf 777 setzen, kann jeder mit der Datei alles machen, was er will. Dies ist ein großes Sicherheitsrisiko, insbesondere auf Webservern! Wörtlich kann jeder auf die Datei zugreifen, sie ändern, wie sie will, und sie auf dem System ausführen. Sie können sich den möglichen Schaden vorstellen, wenn ein böswilliger Benutzer sie in die Hände bekommt.

Wie man Chmod unter Linux benutzt

Der Befehl chmod hat ein einfaches Format:

 chmod [permissions] [file] 

Berechtigungen können in numerischer Notation angegeben werden. Dies ist das beste Format, wenn Sie bestimmte Berechtigungen für alle Klassen zuweisen möchten:

 chmod 644 example.txt 

Berechtigungen können auch in symbolischer Notation angegeben werden. Dies ist nützlich, wenn Sie nur die Berechtigungen einer bestimmten Klasse ändern möchten. Beispielsweise:

 chmod u=rwx example.txt chmod g=rw example.txt chmod o=rw example.txt 

Sie können Berechtigungen für mehrere Klassen ändern, z. B. in diesem Beispiel, das den Besitzer auf Lesen / Schreiben / Ausführen setzt, aber die Gruppe und andere, die gelesen / ausgeführt werden sollen:

 chmod u=rwx, g=rw, o=rw example.txt 

Wenn Sie mehreren Klassen dieselben Berechtigungen zuweisen, können Sie sie kombinieren:

 chmod u=rwx, go=rw example.txt 

Aber die Schönheit der Verwendung der symbolischen Notation leuchtet ein, wenn Sie nur die Berechtigung für eine bestimmte Aktion für eine bestimmte Klasse hinzufügen oder entfernen möchten.

Beispielsweise wird dadurch die Ausführungsberechtigung für den Besitzer der Datei hinzugefügt:

 chmod u+x example.txt 

Und das entfernt die Schreib- und Ausführungsberechtigungen für andere Benutzer:

 chmod o-wx example.txt 

Wenn Sie schließlich einen bestimmten Satz von Berechtigungen auf alle Dateien und Ordner innerhalb eines bestimmten Verzeichnisses anwenden möchten (z. B. rekursives chmod), verwenden Sie die Option -R und wählen Sie ein Verzeichnis aus:

 chmod -R 755 example_directory 

Während der chmod-Befehl auf den ersten Blick etwas verrückt aussieht, ist er eigentlich ganz einfach und völlig logisch. Wenn du das oben genannte verstehst, hast du chmod grundsätzlich gemeistert!

Erfahren Sie mehr über die Beherrschung von Linux

Befehle wie chmod, chown und chgrp sind nur die Spitze des Linux-Eisbergs. Wenn Sie für das Betriebssystem neu sind, empfehlen wir Ihnen, diese netten Tricks für Linux-Neulinge sowie diese Linux-Befehle, die Sie nie ausführen sollten, zu überprüfen.

Am wichtigsten ist jedoch, dass Sie es am besten mit unserem umfassenden Anfängerleitfaden zu Ubuntu und Linux Ubuntu versuchen: Ein Anfängerleitfaden Ubuntu: Ein Anfängerleitfaden Neugierig auf Ubuntu, aber nicht sicher, wo Sie anfangen sollen? Alles, was Sie benötigen, um mit der neuesten Version von Ubuntu zu beginnen, finden Sie hier, in leicht verständlichem Englisch. Lesen Sie mehr, das Ihnen alles beibringt, was Sie wissen müssen, um zu beginnen und vertraut genug, um sich wohl zu fühlen.

In this article