Wie Verwenden Sie das chmod-Kommando unter Linux

0
672
Fatmawati Achmad Zaenuri/Shutterstock.com

Steuern können, wer Zugriff auf Dateien, durchsuchen von Verzeichnissen und das ausführen von scripts mithilfe des Linux chmod-Befehl. Dieser Befehl ändert die Linux-Datei-Berechtigungen, die kompliziert Aussehen auf den ersten Blick, sind aber eigentlich ziemlich einfach, sobald Sie wissen, wie Sie funktionieren.

chmod Ändert die Dateirechte

In Linux, wer kann was tun, um eine Datei oder ein Verzeichnis wird gesteuert durch Berechtigungen. Es gibt drei sets von Berechtigungen. Einen für den Besitzer der Datei, einen weiteren Satz für die Mitglieder der der Datei, die Gruppe, und eine Letzte Gruppe für alle anderen.

Die Berechtigungen Steuern die Aktionen, die durchgeführt werden kann auf die Datei oder das Verzeichnis. Sie entweder zulassen, oder verhindern, dass eine Datei nicht gelesen werden, verändert oder, wenn es ein Skript oder Programm, ausgeführt. Für ein Verzeichnis, die Berechtigungen Regeln, wer kann cd in das Verzeichnis, und wer kann Sie erstellen oder ändern von Dateien innerhalb des Verzeichnisses.

Verwenden Sie das chmod-Kommando, um jede dieser Berechtigungen. Um zu sehen, welche Berechtigungen auf eine Datei oder ein Verzeichnis können wir aus den ls.

Betrachten und Verstehen Sie die Datei Berechtigungen

Wir können die -l (long format) option ls-Liste die Datei-Berechtigungen für Dateien und Verzeichnisse.

ls -l

Auf jeder Zeile das erste Zeichen identifiziert den Typ von Eintrag, der aufgelistet. Wenn es ein Bindestrich (-) es ist eine Datei. Wenn es für den Buchstaben d ist ein Verzeichnis.

Die nächsten neun Zeichen repräsentieren Sie die Einstellungen für die drei sets von Berechtigungen.

  • Die ersten drei stellen zeigen die Berechtigungen für den Benutzer, der die Datei besitzt (Benutzer-Berechtigungen).
  • Die mittleren drei Zeichen zeigen die Berechtigungen für die Mitglieder der in der Datei group (Gruppe Berechtigungen).
  • Die letzten drei Zeichen zeigen die Berechtigungen für alle, die nicht in die ersten beiden Kategorien (Berechtigungen).

Es gibt drei Zeichen in jeder Gruppe von Berechtigungen. Die Charaktere sind Indikatoren für das Vorhandensein oder fehlen einer der Berechtigungen. Sie sind entweder ein Bindestrich (-) oder einen Brief. Wenn der Charakter ist ein Strich, bedeutet dies, dass die Erlaubnis nicht erteilt wird. Wenn das Zeichen ist ein r, w oder x ist, dass eine Genehmigung erteilt wurde.

Die Buchstaben bedeuten:

  • r: Lesen Berechtigungen. Die Datei kann geöffnet werden und deren Inhalt angezeigt.
  • w: Schreiben von Berechtigungen. Die Datei kann bearbeitet, geändert und gelöscht werden.
  • x: Execute-Berechtigungen. Wenn die Datei ist ein Skript oder ein Programm gestartet werden kann (nicht ausgeführt).

Zum Beispiel:

  • — bedeutet, dass keine Berechtigungen gewährt wurden, auf alle.
  • rwx bedeutet volle Berechtigungen erteilt wurden. Das Lesen, schreiben und ausführen von Indikatoren sind alle vorhanden.

In unserer screenshot, die erste Zeile beginnt mit einem d…. Diese Zeile bezieht sich auf einen Ordner namens “Archiv.” Der Besitzer des Verzeichnisses ist “dave” und den Namen der Gruppe, der das Verzeichnis gehört, wird auch als “dave.”

Die nächsten drei Zeichen sind die Benutzer-Berechtigungen für dieses Verzeichnis. Diese zeigen, dass der Besitzer hat volle Berechtigungen. Die r -, w-und x-Zeichen sind alle vorhanden. Dies bedeutet, dass der Benutzer dave hat lese -, schreib-und Ausführungsberechtigungen für das Verzeichnis.

Der zweite Satz von drei Zeichen sind in der Gruppe Berechtigungen, diese sind r-x. Diese zeigen, dass die Mitglieder der dave-Gruppe haben lese-und Schreibberechtigungen für dieses Verzeichnis. Das bedeutet, dass Sie können die Liste der Dateien und deren Inhalt in das Verzeichnis, und Sie können die cd (ausführen) in das Verzeichnis. Sie haben keine Schreibberechtigung, so dass Sie nicht erstellen, Bearbeiten oder löschen von Dateien.

Die letzten drei Zeichen sind auch r-x. Diese Rechte gelten für Menschen, die nicht unter die ersten zwei Sätze von Berechtigungen. Diese Menschen (genannt unter”andere”) lese-und execute-Berechtigungen für dieses Verzeichnis.

Also, um zusammenzufassen, Mitglieder der Gruppe und andere haben lese-und Ausführungsberechtigungen. Der Besitzer, ein Benutzer namens dave, der hat auch Schreibrechte.

Für alle anderen Dateien (abgesehen von der mh.sh Skript-Datei), dave und die Mitglieder der dave-Gruppe haben lese-und schreib-Eigenschaften auf die Dateien, und die anderen haben Berechtigungen Lesen nur.

Für den speziellen Fall der mh.sh Skript-Datei, die Eigentümer, dave und die Mitglieder der Gruppe haben lese -, schreib-und execute-Berechtigungen, und die anderen haben lese-und Ausführungsberechtigungen nur.

Das Verständnis Der Berechtigung Syntax

Verwenden Sie den Befehl chmod die Berechtigungen festlegen, müssen wir sagen:

  • Wer: wer wir sind, das festlegen von Berechtigungen für.
  • Was: was ändern wir das machen? Wir sind das hinzufügen oder entfernen der Berechtigung?
  • Die: Welche Berechtigungen sind, die wir einstellen?

Wir verwenden Symbole zur Darstellung dieser Werte, und bilden kurze “Rechte Aussagen” wie u+x, wobei “u” bedeutet “user” (wer), “+” bedeutet “hinzufügen” (was), und “x” bedeutet, dass die execute-Berechtigung (die).

Das “wer” Werte, die wir verwenden können, sind:

  • u: User, d.h. der Besitzer der Datei.
  • g: Gruppe, d.h. die Mitglieder der Gruppe zu der die Datei gehört.
  • o: Andere, also Leute, die nicht unter die u-und g-Berechtigungen.
  • a: Alle, das heißt alle der oben genannten.

Wenn keiner von diesen verwendet werden, chmod verhält sich so, als wenn “a” verwendet worden war.

Das “was” Werte, die wir verwenden können, sind:

  • –: Minus-Zeichen. Entfernt die Berechtigung.
  • +: Plus-Zeichen. Gewährt die Berechtigung. Die Erlaubnis ist zusätzlich zu den bestehenden Berechtigungen. Wenn Sie möchten diese Berechtigung haben und nur dieses Recht, verwenden Sie die = option, wie unten beschrieben.
  • =: Gleichheitszeichen. Legen Sie eine Erlaubnis und andere entfernen.

Das “die” Werte, die wir verwenden können, sind:

  • r: Die Berechtigung “Lesen”.
  • w: Die Berechtigung schreiben.
  • x: Die execute-Berechtigung.

Festlegen Und Ändern Von Berechtigungen

Sagen wir, wir haben eine Datei, wo jeder volle Berechtigungen auf.

ls -l new_ file.txt

Wir möchten, dass der Benutzer dave haben lese-und Schreibrechte und die Gruppe und andere Benutzer haben lese-Berechtigungen nur. Wir können mit dem folgenden Befehl:

chmod u=rw,og=r new_file.txt

Mit dem ” = ” – operator bedeutet, wir wischen Sie alle vorhandenen Berechtigungen und setzen Sie die angegebenen, zu bevorzugen.

schauen wir uns die neue Berechtigung auf diese Datei:

ls -l new_file.txt

Die bestehenden Berechtigungen wurden entfernt, und die neuen Berechtigungen gesetzt wurden, als wir erwartet haben.

Wie über das hinzufügen einer Erlaubnis, ohne dass die vorhandenen Berechtigungen-Einstellungen? Wir können das leicht tun es auch.

Sagen wir, wir haben ein Skript-Datei, die wir bearbeitet haben. Wir brauchen, um machen Sie es ausführbar für alle Benutzer. Seine aktuellen Berechtigungen wie folgt Aussehen:

ls -l new_script.sh

Wir können hinzufügen, die execute-Berechtigung für alle mit dem folgenden Befehl:

chmod a+x new_script.sh

Wenn wir einen Blick auf die Berechtigungen, werden wir sehen, dass die execute-Berechtigung wird nun jedem gewährt, und die vorhandenen Berechtigungen sind noch im Ort.

ls -l new_script.sh

Könnten wir erreicht haben, die gleiche Sache, die ohne das “a” in “a+x” – Anweisung. Der folgende Befehl funktioniert hätte genau so gut.

chmod +x new_script.sh

Festlegen von Berechtigungen für Mehrere Dateien

Wir können die Anwendung von Berechtigungen auf mehrere Dateien auf einmal.

Dies sind die Dateien im aktuellen Verzeichnis:

ls -l

Sagen wir, wir möchten, entfernen Sie die Schreibrechte für “andere” Benutzer-Dateien haben eine “.Seite” – Erweiterung. Dies können wir mit folgendem Befehl:

chmod oder *.Seite

Lassen Sie uns prüfen, welche Auswirkung das hat:

ls -l

Wie wir sehen können, die Lesen-Berechtigung wurde entfernt “.Seite” Dateien für die “andere” – Kategorie von Benutzern. Keine andere Dateien betroffen waren.

Wenn wir wollten, um Dateien in Unterverzeichnissen, die wir verwendet haben konnten, die Option-R (recursive) – option.

chmod -R oder *.Seite

Numerische Kürzel

Eine andere Möglichkeit zur Verwendung von chmod ist es, die Berechtigungen, die Sie wollen, zu geben, zu den Besitzer, die Gruppe und andere als eine drei-stellige Nummer. Die am weitesten Links stehende Ziffer stellt die Berechtigungen für den Besitzer. Die mittlere Zahl repräsentiert die Berechtigungen für die Mitglieder der Gruppe. Die äußerste Rechte Ziffer stellt die Berechtigungen für die anderen.

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

  • 0: (000) Keine Berechtigung.
  • 1: (001) die Execute-Berechtigung.
  • 2: (010) Schreibrechte.
  • 3: (011) Schreiben und ausführen Berechtigungen.
  • 4: (100) die Berechtigung ” Lesen.
  • 5: (101) die Berechtigungen Lesen und ausführen.
  • 6: (110) Lesen und schreiben von Berechtigungen.
  • 7: (111) Lesen, schreiben und ausführen Berechtigungen.

Jeder der drei Berechtigungen wird vertreten durch eines der bits in das binäre äquivalent der Dezimalzahl. Also 5, die 101 im Binär -, Mittel Lesen und ausführen. 2 010 im Binär -, würde bedeuten, die schreiben-Berechtigung.

Mit dieser Methode setzen Sie die Berechtigungen, die Sie haben wollen; Sie müssen nicht fügen Sie diese Berechtigungen die vorhandenen Berechtigungen. Also, wenn Lesen und schreiben Berechtigungen bereits vorhanden, Sie müssten 7 (111) zum hinzufügen von Berechtigungen ausführen. Mit 1 (001) entfernen würde, die Lesen und schreiben Berechtigungen, und fügen Sie die Berechtigung “execute”.

Fügen wir der Berechtigung “Lesen” wieder auf “.Seite” Dateien für die andere Kategorie von Benutzern. Wir müssen die Einstellung für die Benutzer-und Gruppen-Berechtigungen als auch, so brauchen wir, um Sie zu dem, was Sie bereits sind. Diese Benutzer haben bereits Lesen und schreiben Berechtigungen, die ist 6 (110). Wir wollen die “anderen” zu Lesen und Berechtigungen, so dass Sie benötigen, um eingestellt werden zu 4 (100).

Der folgende Befehl dazu:

chmod 664 *.Seite

Dies setzt die Berechtigungen, benötigen wir für die Benutzer -, Gruppen-Mitglieder und andere an, was wir benötigen. Die Benutzer und Mitglieder der Gruppe haben Ihre Berechtigungen zurückzusetzen, zu dem, was Sie schon waren, und die anderen haben die Berechtigung “Lesen” wiederhergestellt.

ls -l

Erweiterte Optionen

Wenn Sie Lesen Sie die man-Seite für den Befehl chmod du wirst sehen, es gibt einige erweiterte Optionen in Bezug auf die SETUID-und SETGID-bits, und an die beschränkten die Löschung oder den “sticky” – bit.

Für 99% der Fällen müssen Sie chmod für die hier beschriebenen Optionen werden Sie.

LESEN SIE WEITER

  • › Wie Schriftsteller Verwenden Können, GitHub zum Speichern Ihrer Arbeit
  • › So Einfach Recyceln Sie die Alte Elektronik Kann Man nicht Verkaufen
  • › Wie Sie Überprüfen, wenn Sie Ihre Chromecast Ist Noch Immer Updates
  • › How to Play Adobe Flash SWF-Dateien Außerhalb des Web-Browser
  • › Befehlszeilen: Warum Die Menschen Immer Noch Mühe Mit Ihnen?