Connect with us

Wie man

Verwendung des Befehls chmod unter Linux

So vergleichen Sie zwei Textdateien im Linux-Terminal

Fatmawati Achmad Zaenuri / Shutterstock.com

Steuern Sie, wer unter Linux auf Dateien zugreifen, Verzeichnisse durchsuchen und Skripte ausführen kann chmod Befehl. Dieser Befehl ändert Linux-Dateiberechtigungen, die auf den ersten Blick kompliziert aussehen, aber tatsächlich ziemlich einfach sind, sobald Sie wissen, wie sie funktionieren.

chmod Ändert Dateiberechtigungen

Unter Linux wird über Berechtigungen gesteuert, wer was mit einer Datei oder einem Verzeichnis tun kann. Es gibt drei Berechtigungssätze. Ein Satz für den Eigentümer der Datei, ein anderer Satz für die Mitglieder der Dateigruppe und ein endgültiger Satz für alle anderen.

Die Berechtigungen steuern die Aktionen, die für die Datei oder das Verzeichnis ausgeführt werden können. Sie erlauben oder verhindern, dass eine Datei gelesen, geändert oder, wenn es sich um ein Skript oder Programm handelt, ausgeführt wird. Für ein Verzeichnis bestimmen die Berechtigungen, wer kann cd in das Verzeichnis und wer kann Dateien innerhalb des Verzeichnisses erstellen oder ändern.

Sie verwenden die chmod Befehl an Legen Sie jede dieser Berechtigungen fest. Zu Sehen Sie, welche Berechtigungen festgelegt wurden Auf einer Datei oder einem Verzeichnis können wir verwenden ls.

Anzeigen und Verstehen von Dateiberechtigungen

Wir können die verwenden -l (Langformat) Option zu haben ls Listen Sie die Dateiberechtigungen für Dateien und Verzeichnisse auf.

ls -l

In jeder Zeile gibt das erste Zeichen den Typ des Eintrags an, der aufgelistet wird. Wenn es ein Bindestrich ist (-) Es ist eine Datei. Wenn es der Brief ist d Es ist ein Verzeichnis.

Die nächsten neun Zeichen repräsentieren die Einstellungen für die drei Berechtigungssätze.

  • Die ersten drei Zeichen zeigen die Berechtigungen für den Benutzer an, dem die Datei gehört ().
  • Die mittleren drei Zeichen zeigen die Berechtigungen für Mitglieder der Gruppe group ().
  • Die letzten drei Zeichen zeigen die Berechtigungen für alle Personen an, die nicht zu den ersten beiden Kategorien gehören ().

Jeder Berechtigungssatz enthält drei Zeichen. Die Zeichen sind Indikatoren für das Vorhandensein oder Fehlen einer der Berechtigungen. Sie sind entweder ein Strich (-) oder einen Brief. Wenn das Zeichen ein Bindestrich ist, bedeutet dies, dass keine Berechtigung erteilt wird. Wenn der Charakter ein ist r, woder ein xwurde diese Erlaubnis erteilt.

Die Buchstaben stehen für:

  • : Berechtigungen lesen. Die Datei kann geöffnet und ihr Inhalt angezeigt werden.
  • : Schreibberechtigungen. Die Datei kann bearbeitet, geändert und gelöscht werden.
  • : Berechtigungen ausführen. Wenn die Datei ein Skript oder ein Programm ist, kann sie ausgeführt werden.

Zum Beispiel:

  • --- bedeutet, dass überhaupt keine Berechtigungen erteilt wurden.
  • rwx bedeutet, dass vollständige Berechtigungen erteilt wurden. Die Lese-, Schreib- und Ausführungsindikatoren sind alle vorhanden.

In unserem Screenshot beginnt die erste Zeile mit einem d. Diese Zeile bezieht sich auf ein Verzeichnis namens „Archiv“. Der Eigentümer des Verzeichnisses ist „dave“, und der Name der Gruppe, zu der das Verzeichnis gehört, wird auch „dave“ genannt.

Die nächsten drei Zeichen sind die Benutzerberechtigungen für dieses Verzeichnis. Diese zeigen, dass der Eigentümer über die vollständigen Berechtigungen verfügt. Das r, w, und x Zeichen sind alle vorhanden. Dies bedeutet, dass der Benutzer Dave über Lese-, Schreib- und Ausführungsberechtigungen für dieses Verzeichnis verfügt.

Der zweite Satz von drei Zeichen sind die Gruppenberechtigungen r-x. Diese zeigen, dass die Mitglieder der Dave-Gruppe Lese- und Ausführungsberechtigungen für dieses Verzeichnis haben. Das heißt, sie können die Dateien und ihren Inhalt im Verzeichnis auflisten und sie können cd (ausführen) in dieses Verzeichnis. Sie haben keine Schreibberechtigungen und können daher keine Dateien erstellen, bearbeiten oder löschen.

Der letzte Satz von drei Zeichen ist auch r-x. Diese Berechtigungen gelten für Personen, die nicht den ersten beiden Berechtigungssätzen unterliegen. Diese Personen („andere“ genannt) haben Lese- und Ausführungsberechtigungen für dieses Verzeichnis.

Zusammenfassend haben Gruppenmitglieder und andere Berechtigungen gelesen und ausgeführt. Der Eigentümer, ein Benutzer namens Dave, verfügt ebenfalls über Schreibberechtigungen.

Für alle anderen Dateien (außer der Skriptdatei mh.sh) haben Dave und Mitglieder der Dave-Gruppe Lese- und Schreibeigenschaften für die Dateien, und die anderen haben nur Leseberechtigungen.

Für den Sonderfall der Skriptdatei mh.sh haben der Eigentümer Dave und die Gruppenmitglieder Lese-, Schreib- und Ausführungsberechtigungen, und die anderen haben nur Lese- und Ausführungsberechtigungen.

Grundlegendes zur Berechtigungssyntax

Benutzen chmod Um Berechtigungen festzulegen, müssen wir Folgendes mitteilen:

  • Für wen wir Berechtigungen festlegen.
  • : Welche Änderung nehmen wir vor? Fügen wir die Berechtigung hinzu oder entfernen wir sie?
  • : Welche der Berechtigungen setzen wir?

Wir verwenden Indikatoren, um diese Werte darzustellen, und bilden kurze „Berechtigungsanweisungen“ wie z u+x, wobei „u“ „Benutzer“ (wer) bedeutet, „+“ „hinzufügen“ (was) und „x“ die Ausführungsberechtigung (welche) bedeutet.

Die „Wer“ -Werte, die wir verwenden können, sind:

  • : Benutzer, dh der Eigentümer der Datei.
  • : Gruppe, dh Mitglieder der Gruppe, zu der die Datei gehört.
  • : Andere, dh Menschen, die nicht von der Regierung regiert werden u und g Berechtigungen.
  • : Alle, dh alle oben genannten.

Wenn keines davon verwendet wird, chmod verhält sich als ob “a“ War benutzt worden.

Die „Was“ -Werte, die wir verwenden können, sind:

  • : Minuszeichen. Entfernt die Berechtigung.
  • : Pluszeichen. Erteilt die Erlaubnis. Die Berechtigung wird zu den vorhandenen Berechtigungen hinzugefügt. Wenn Sie diese Berechtigung und nur diesen Berechtigungssatz haben möchten, verwenden Sie die = Option, unten beschrieben.
  • : Gleichheitszeichen. Legen Sie eine Berechtigung fest und entfernen Sie andere.

Die „welche“ Werte können wir verwenden:

  • : Die Leseberechtigung.
  • : Die Schreibberechtigung.
  • : Die Ausführungsberechtigung.

Festlegen und Ändern von Berechtigungen

Nehmen wir an, wir haben eine Datei, in der jeder über die vollständigen Berechtigungen verfügt.

ls -l new_ file.txt

Wir möchten, dass der Benutzer Dave Lese- und Schreibberechtigungen hat und die Gruppe und andere Benutzer nur Leseberechtigungen haben. Wir können den folgenden Befehl verwenden:

chmod u=rw,og=r new_file.txt

Wenn Sie den Operator „=“ verwenden, werden alle vorhandenen Berechtigungen gelöscht und die angegebenen festgelegt.

Lassen Sie uns die neue Berechtigung für diese Datei überprüfen:

ls -l new_file.txt

Die vorhandenen Berechtigungen wurden entfernt und die neuen Berechtigungen wurden wie erwartet festgelegt.

Wie wäre es mit dem Hinzufügen einer Berechtigung zum Entfernen der vorhandenen Berechtigungseinstellungen? Das können wir auch leicht machen.

Angenommen, wir haben eine Skriptdatei, deren Bearbeitung wir abgeschlossen haben. Wir müssen es für alle Benutzer ausführbar machen. Die aktuellen Berechtigungen sehen folgendermaßen aus:

ls -l new_script.sh

Mit dem folgenden Befehl können wir die Ausführungsberechtigung für alle hinzufügen:

chmod a+x new_script.sh

Wenn wir uns die Berechtigungen ansehen, werden wir feststellen, dass die Ausführungsberechtigung jetzt allen gewährt wird und die vorhandenen Berechtigungen noch vorhanden sind.

ls -l new_script.sh

Ohne das „a“ in der Aussage „a + x“ hätten wir dasselbe erreichen können. Der folgende Befehl hätte genauso gut funktioniert.

chmod +x new_script.sh

Festlegen von Berechtigungen für mehrere Dateien

Wir können Berechtigungen auf mehrere Dateien gleichzeitig anwenden.

Dies sind die Dateien im aktuellen Verzeichnis:

ls -l

Angenommen, wir möchten die Leseberechtigungen für die „anderen“ Benutzer aus Dateien mit der Erweiterung „.page“ entfernen. Wir können dies mit dem folgenden Befehl tun:

chmod o-r *.page

Lassen Sie uns überprüfen, welchen Effekt dies hatte:

ls -l

Wie wir sehen können, wurde die Leseberechtigung aus den „.page“ -Dateien für die „andere“ Benutzerkategorie entfernt. Es sind keine anderen Dateien betroffen.

Wenn wir Dateien in Unterverzeichnisse aufnehmen wollten, hätten wir das verwenden können -R (rekursive) Option.

chmod -R o-r *.page

Numerische Kurzschrift

Eine andere Art zu verwenden chmod besteht darin, die Berechtigungen, die Sie dem Eigentümer, der Gruppe und anderen Personen erteilen möchten, als dreistellige Nummer anzugeben. Die Ziffer ganz links repräsentiert die Berechtigungen für den Eigentümer. Die mittlere Ziffer repräsentiert die Berechtigungen für die Gruppenmitglieder. Die Ziffer ganz rechts repräsentiert die Berechtigungen für die anderen.

Die Ziffern, die Sie verwenden können und was sie darstellen, sind hier aufgelistet:

  • 0: (000) Keine Erlaubnis.
  • 1: (001) Berechtigung ausführen.
  • 2: (010) Schreibberechtigung.
  • 3: (011) Schreib- und Ausführungsberechtigungen.
  • 4: (100) Leseberechtigung.
  • 5: (101) Berechtigungen lesen und ausführen.
  • 6: (110) Lese- und Schreibberechtigungen.
  • 7: (111) Lese-, Schreib- und Ausführungsberechtigungen.

Jede der drei Berechtigungen wird durch eines der Bits im binären Äquivalent der Dezimalzahl dargestellt. Also 5, was binär 101 ist, bedeutet Lesen und Ausführen. 2, was 010 in binär ist, würde die Schreibberechtigung bedeuten.

Mit dieser Methode legen Sie die Berechtigungen fest, die Sie haben möchten. Sie fügen diese Berechtigungen nicht zu den vorhandenen Berechtigungen hinzu. Wenn also bereits Lese- und Schreibberechtigungen vorhanden wären, müssten Sie 7 (111) verwenden, um Ausführungsberechtigungen hinzuzufügen. Die Verwendung von 1 (001) würde die Lese- und Schreibberechtigungen entfernen und die Ausführungsberechtigung hinzufügen.

Fügen wir die Leseberechtigung wieder in die „.page“ -Dateien für die andere Benutzerkategorie ein. Wir müssen auch die Benutzer- und Gruppenberechtigungen festlegen, also müssen wir sie auf das einstellen, was sie bereits sind. Diese Benutzer haben bereits Lese- und Schreibberechtigungen (6 (110)). Wir möchten, dass die „anderen“ Lese- und Berechtigungen haben, daher müssen sie auf 4 (100) gesetzt werden.

Der folgende Befehl führt dies aus:

chmod 664 *.page

Dadurch werden die Berechtigungen, die wir für den Benutzer, die Gruppenmitglieder und andere benötigen, auf die von uns benötigten festgelegt. Die Berechtigungen der Benutzer und Gruppenmitglieder werden auf das zurückgesetzt, was sie bereits waren, und die anderen haben die Leseberechtigung wiederhergestellt.

ls -l

Erweiterte Optionen

Wenn du Lesen Sie die Manpage zum chmod Sie werden sehen, dass es einige erweiterte Optionen gibt, die sich auf die SETUID- und SETGID-Bits sowie auf das eingeschränkte Löschen oder „Sticky“ -Bit beziehen.

In 99% der Fälle benötigen Sie chmod Mit den hier beschriebenen Optionen sind Sie hier genau richtig.

Continue Reading
Click to comment

Leave a Reply

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

Tendencia