Der Chmod-Befehl und die Linux-Dateiberechtigungen erklärt

Der Chmod-Befehl und die Linux-Dateiberechtigungen erklärt

Sie haben also eine Linux-Variante gefunden, die Ihnen gefällt, aber jetzt sind Sie verwirrt, weil Sie nicht die leiseste Ahnung von Terminalbefehlen und Linux-Dateiberechtigungen haben?





Oder vielleicht haben Sie eine Website, die auf einem Linux-Server gehostet wird, und Sie sind auf einige Probleme mit Dateiberechtigungen gestoßen, die nur mit etwas Befehlszeilenmagie gelöst werden können.





Egal, einer der die wichtigsten Linux-Befehle zum Lernen ist ein kleiner, aber mächtiger Befehl namens chmod . Aber bevor wir erklären, was der Befehl macht, müssen wir zuerst ein wenig verstehen, wie Linux mit der Dateisicherheit umgeht.





Die Grundlagen der Linux-Dateiberechtigungen

Linux-Betriebssysteme sind eigentlich Unix-ähnliche Systeme ( Linux vs. Unix verstehen ) und Unix-ähnliche Systeme gehen Dateiberechtigungen wie folgt vor:

Jede Datei hat ein Eigentümer , die die 'Benutzerklasse' der Datei bestimmt. Jede Datei hat auch a Gruppe , die die 'Gruppenklasse' der Datei bestimmt. Jeder Systembenutzer, der nicht der Eigentümer ist und nicht derselben Gruppe angehört, wird als Andere .



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

Die drei Aktionen, die auf einem Unix-ähnlichen System verfügbar sind, sind: lesen (die Möglichkeit, den Inhalt der Datei zu öffnen und anzuzeigen), schreiben (die Möglichkeit, den Inhalt einer Datei zu öffnen und zu ändern) und ausführen (die Möglichkeit, die Datei als ausführbares Programm auszuführen).





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 heißt symbolische Notation , eine Zeichenfolge aus 10 Zeichen: ein Zeichen, das den Dateityp darstellt, dann neun Zeichen, die die Lese- (r), Schreib- (w) und Ausführungsberechtigungen (x) der Datei in der Reihenfolge Besitzer, Gruppe und andere darstellen. Wenn nicht zulässig, wird das Strichsymbol (-) verwendet.

Zum Beispiel:

-rwxr-xr--

Dies bedeutet, dass es sich um eine normale Datei mit Lese-, Schreib- und Ausführungsberechtigungen für den Eigentümer handelt. Lese- und Ausführungsberechtigungen für die Gruppe; und nur Leseberechtigungen für alle anderen.

Das zweite Format heißt numerische Notation , eine Zeichenfolge aus drei Ziffern, die jeweils für Benutzer-, Gruppen- und andere Berechtigungen stehen. Jede Ziffer kann von 0 bis 7 reichen, und der Wert jeder Ziffer wird durch Summieren der Berechtigungen der Klasse ermittelt:

  • 0 bedeutet keine Berechtigungen erlaubt.
  • +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 Ziffernwerts lautet:

  • 0: Keine Berechtigung
  • 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

Also das obige Beispiel (

-rwxr-xr--

) wäre 754 in numerischer Schreibweise.

Das sind Linux-Dateiberechtigungen in aller Kürze.

Was ist Chmod?

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

wer blockiert mich auf facebook

Nicht zu verwechseln mit chown , ein weiterer Befehl auf Systemebene auf Unix-ähnlichen Systemen, der für 'Eigentümer ändern' steht und Sie einem anderen Benutzer den Besitz einer Datei zuweisen lässt, oder chgrp , was für 'Change Group' steht und eine Datei einer anderen Gruppe zuweist. Diese sind wichtig zu wissen, werden aber nicht so häufig verwendet wie chmod.

Was bedeutet Chmod 644?

Wenn die Berechtigungen einer Datei auf 644 gesetzt werden, kann nur der Eigentümer auf die Datei zugreifen und sie beliebig ändern, während alle anderen nur ohne Änderung darauf zugreifen können und niemand die Datei ausführen kann – nicht einmal der Eigentümer. Dies ist die ideale Einstellung für öffentlich zugängliche Dateien, da hier Flexibilität und Sicherheit in Einklang gebracht werden.

Warum klebt mein Handy am Apple-Logo?

Was bedeutet Chmod 755?

Das Festlegen der Berechtigungen einer Datei auf 755 ist im Grunde dasselbe wie 644, außer dass jeder auch Ausführungsberechtigungen hat. 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 Berechtigungen einer Datei auf 555 setzen, kann die Datei von niemandem außer dem Superuser des Systems geändert werden ( erfahren Sie mehr über den Linux-Superuser ). Dies wird nicht so häufig verwendet wie 644, aber es ist dennoch 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 tun, was er will. Dies ist ein riesiges Sicherheitsrisiko, insbesondere auf Webservern! Buchstäblich jeder kann auf die Datei zugreifen, sie nach Belieben ändern und auf dem System ausführen. Sie können sich den potenziellen Schaden vorstellen, wenn ein betrügerischer Benutzer es in die Finger bekommt.

So verwenden Sie Chmod unter Linux

Der Befehl chmod hat ein einfaches Format:

chmod [permissions] [file]

Berechtigungen können in numerischer Schreibweise angegeben werden, was das beste Format ist, wenn Sie allen Klassen bestimmte Berechtigungen zuweisen möchten:

chmod 644 example.txt

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

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

Sie können Berechtigungen für mehrere Klassen ändern, wie in diesem Beispiel, das den Besitzer auf Lesen/Schreiben/Ausführen, aber die Gruppe und andere auf Lesen/Ausführen setzt:

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

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

chmod u=rwx,go=rw example.txt

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

Zum Beispiel das fügt hinzu die Ausführungsberechtigung für den Eigentümer der Datei:

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 allen Dateien und Ordnern in einem bestimmten Verzeichnis (d. h. einem rekursiven chmod) einen bestimmten Satz von Berechtigungen zuweisen möchten, verwenden Sie die Option -R und wählen Sie ein Verzeichnis aus:

chmod -R 755 example_directory

Während der Befehl chmod auf den ersten Blick etwas verrückt aussieht, ist er eigentlich ganz einfach und völlig logisch. Wenn Sie das oben Gesagte verstehen, haben Sie chmod im Grunde gemeistert!

Erfahren Sie mehr über das Beherrschen von Linux

Befehle wie chmod, chown und chgrp sind nur die Spitze des Linux-Eisbergs. Wenn Sie mit dem Betriebssystem noch nicht vertraut sind, empfehlen wir Ihnen, sich diese netten Tricks für Linux-Neulinge sowie diese Linux-Befehle anzusehen, die Sie niemals ausführen sollten .

Aber am wichtigsten ist, dass Sie am besten in unserem umfassendes Einsteigerhandbuch zu Ubuntu und Linux , das Ihnen alles beibringt, was Sie wissen müssen, um loszulegen und sich genug vertraut zu machen, um sich wohl zu fühlen.

Teilen Teilen Tweet Email 5 Tipps zum Aufladen Ihrer VirtualBox-Linux-Maschinen

Haben Sie genug von der schlechten Leistung virtueller Maschinen? Hier ist, was Sie tun sollten, um Ihre VirtualBox-Leistung zu steigern.

Weiter lesen
Verwandte Themen
  • Linux
  • Linux-Befehle
Über den Autor Joel Lee(1524 Artikel veröffentlicht)

Joel Lee ist seit 2018 Chefredakteur von MakeUseOf. Er hat einen B.S. in Informatik und über neun Jahre professionelle Schreib- und Redaktionserfahrung.

Mehr von Joel Lee

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren