GNU/Linux >> LINUX-Kenntnisse >  >> Linux

9 Beispiele für schnelle chmod-Befehle unter Linux

Der Chmod-Befehl in Linux wird verwendet, um Berechtigungen für Dateien und Verzeichnisse zu ändern oder zuzuweisen. In Linux / Unix-Systemen wird der Zugriff auf Dateien und Verzeichnisse durch den Dateibesitz und die Berechtigungen bestimmt. In einem früheren Artikel haben wir uns angesehen, wie Sie den Besitz von Dateien und Verzeichnissen mit dem Befehl chown verwalten. In diesem Tutorial sehen wir uns den Befehl chmod an.

Der Befehl chmod, kurz für Änderungsmodus, wird verwendet, um Datei- und Verzeichnisberechtigungen zu verwalten und festzulegen, wer darauf zugreifen kann. Lassen Sie uns nun eintauchen und die Art von Datei- und Verzeichnisberechtigungen untersuchen und wie sie geändert werden können.

Linux-Berechtigungen

Um besser zu verstehen, wie der chmod-Befehl funktioniert, ist es ratsam, das Linux-Dateiberechtigungsmodell zu studieren.

In Linux haben wir 3 Arten von Dateiberechtigungen:Lese- (r), Schreib- (w) und Ausführungsberechtigungen (x). Diese Berechtigungen legen fest, welche Benutzer die Dateien lesen, schreiben oder ausführen können. Sie können diese Berechtigungen mithilfe der Text- oder Oktalschreibweise (numerisch) zuweisen, wie wir später in diesem Tutorial besprechen werden.

Dateien und Verzeichnisse können entweder dem Besitzer der Datei (u), der Gruppe (g) oder anderen (o) gehören

  • u   –  Eigentümer der Datei
  • g   –  Gruppe
  • o   –  Andere

Dateiberechtigungen werden mit dem Befehl ls -l aufgelistet. Das Flag -l listet die Dateiberechtigungen auf. Die Berechtigungen sind in drei Sätzen angeordnet:der Benutzer, die Gruppe und andere.

Um die Dateiberechtigungen besser zu verstehen, werden wir den Inhalt unseres Verzeichnisses wie folgt auflisten:

$ ls -l

Von ganz links beginnend zeigt das erste Zeichen/Symbol den Dateityp an. Ein Bindestrich (-) gibt an, dass es sich bei der Datei um eine normale Datei handelt. Das Symbol d zeigt an, dass es sich um ein Verzeichnis handelt. Symbol l zeigt an, dass es sich um einen symbolischen Link handelt.

Die verbleibenden neun Zeichen sind in 3 Tripletts segmentiert, die jeweils drei Symbole r(Lesen), w(Schreiben) und x(Ausführen) tragen. Wie bereits erwähnt, zeigt das erste Segment auf die Eigentümerberechtigungen, das zweite auf die Gruppenberechtigungen und der letzte Teil auf die Berechtigungen, die andere Benutzer für die Datei oder das Verzeichnis haben.

Aus der Ausgabe können wir sehen, dass wir 2 Dateien (hello.txt &reviews.zip) und ein einzelnes Verzeichnis haben.

Untersuchen wir die erste Datei

-rw-rw-r-- 1 linuxtechi linuxtechi   35 Aug 17 15:42 hello.txt

Für die erste Datei implizieren die -rw-rw-r–-Berechtigungen, dass der Besitzer der Datei Lese- und Schreibrechte hat, die Gruppe auch Lese- und Schreibrechte hat, während andere Benutzer nur Leserechte haben. Dieselben Berechtigungen gelten auch für die komprimierte Datei "reports.zip".

Schauen wir uns die Berechtigungen des Verzeichnisses an:

drwxrwxr-x 2 linuxtechi linuxtechi 4096 Aug 17 15:43 sales

Wir können sehen, dass der Eigentümer des Verzeichnisses und der Gruppe alle Berechtigungen (Lesen, Schreiben und Ausführen) hat, während andere Benutzer nur Lese- und Ausführungsberechtigungen haben.

Die dreifachen Bindestrichsymbole – zeigen an, dass weder dem Eigentümer der Datei, der Gruppe noch anderen Benutzern Berechtigungen erteilt wurden.

Verwendung des chmod-Befehls zum Festlegen von Datei- und Verzeichnisberechtigungen

Nachdem wir uns die Dateiberechtigungen und deren Anzeige angesehen haben, konzentrieren wir uns nicht darauf, wie diese Berechtigungen geändert werden.

Der Befehl chmod in Linux wird verwendet, um Datei- und Verzeichnisberechtigungen entweder in Text- (symbolischer) oder numerischer (oktaler) Notation zu ändern. Es nimmt die folgende Syntax an:

$ chmod [OPTIONS] MODE Dateiname

Nur der Root-Benutzer oder ein normaler Benutzer mit sudo-Berechtigungen kann Datei- oder Verzeichnisberechtigungen ändern. Sie können mehr als eine Datei oder ein Verzeichnis, getrennt durch Leerzeichen, in der Befehlssyntax übergeben.

Lassen Sie uns nun eintauchen und verschiedene Beispiele des chmod-Befehls sehen.

Beispiel 1) Weisen Sie Berechtigungen mit numerischer Notation zu

Verwenden Sie beim Festlegen von Berechtigungen mithilfe des numerischen Stils/der numerischen Schreibweise die unten gezeigte Syntax:

$ sudo chmod [OPTIONEN] Numerischer_Wert Dateiname

Der numerische Wert kann 3 oder 4 Zahlen annehmen. In den meisten Fällen werden jedoch 3 Nummern verwendet. Die Lese-, Schreib- und Ausführungsberechtigungen nehmen die folgenden Werte an:

  • Leseberechtigung => 4
  • Schreibberechtigung => 2
  • Ausführungserlaubnis => 1

Die Gesamtsumme der Werte der Berechtigungen, d. h. Lesen, Schreiben und Ausführen in jedem der drei Segmente, ergibt die vollständigen Berechtigungen einer bestimmten Datei oder eines bestimmten Verzeichnisses.

Was meinen wir damit?

Nehmen wir an, der Eigentümer hat Lese-, Schreib- und Ausführungsberechtigungen, die Gruppe hat Lese- und Ausführungsberechtigungen und andere Benutzer haben nur Leseberechtigungen. Dies kann wie folgt aufgeschlüsselt werden:

  • u :   rwx  =7
  • g :   r-x  =5
  • o :   r–  =4

Daher erhalten wir als Zahlenwert für die Dateiberechtigungen der angegebenen Datei den Wert 754.

Führen Sie den folgenden Befehl aus, um dem Inhaber Lese-, Schreib- und Ausführungsberechtigungen und nur der Gruppe und anderen Nutzern Leseberechtigungen zuzuweisen:

$ chmod 744 devops.txt

Um dem Eigentümer der Datei alle Berechtigungen zuzuweisen, Lese- und Ausführungsberechtigungen für die Gruppe und überhaupt keine Berechtigungen für andere Benutzer, führen Sie Folgendes aus:

$ chmod 750 coders.txt

Um dem Eigentümer der Datei alle Berechtigungen zuzuweisen, der Gruppe und anderen Benutzern Lese- und Schreibberechtigungen zuzuweisen, führen Sie den folgenden Befehl aus:

$ chmod 755 sysadmin.txt

Beispiel 2) Rekursives Zuweisen von Berechtigungen zu Verzeichnissen

Verwenden Sie beim Zuweisen von Berechtigungen zu Verzeichnissen das Flag -R, um den Dateien und Unterordnern rekursiv Berechtigungen zuzuweisen. Zum Beispiel:

$ chmod 755 -R Verzeichnisname

$ chmod 755 -R /home/linuxtechi/data

Beispiel 3) Rechte per Textnotation zuweisen

Eine andere Möglichkeit, Berechtigungen zuzuweisen, ist die Verwendung der Textnotation. Bei dieser Methode verwendet der Befehl chmod Flags oder Symbole, die den Eigentümer, die Gruppe, andere oder alle Benutzer ( u, g und o) in der Syntax darstellen.

Die Methode ist nicht so einfach wie die vorherige Methode und es sollte darauf geachtet werden, dass keine falschen Berechtigungen zugewiesen werden.

So sieht die Syntax aus

$ chmod [OPTIONEN] [ u g o a ]  [ – + =] [ r, w, x ] Datei

Lassen Sie uns das aufschlüsseln.

Die erste Gruppe von Parametern [ u g o a]  gibt die Kategorie der Nutzer an, deren Berechtigungen geändert werden

  • u :Benutzer
  • g :Gruppe
  • o :andere
  • a :all ( Dies schließt alle oben genannten ein )

Wenn dieser Satz weggelassen wird, ist die Standardoption die  a-Option.

Die zweite Gruppe von Optionen – Operatoroptionen [ – + =] – legt fest, ob Berechtigungen zur Kategorie der Benutzer hinzugefügt oder entfernt werden. Die Option entfernen

  • –    :Das Flag entzieht einem bestimmten Benutzer die Dateiberechtigungen.
  • +   :Dies fügt Berechtigungen für einen bestimmten Benutzer hinzu.
  • =   :Dies weist bestimmten Benutzern unterschiedliche Berechtigungen zu und entfernt die vorherigen Berechtigungen des Benutzersegments.

Schauen wir uns ein paar Beispiele an:

Beispiel 4) Einer Datei Leserechte zuweisen

$ chmod o=r Dateiname

Der obige Befehl weist anderen Benutzern, die mit dem Symbol „o“ gekennzeichnet sind, nur Leseberechtigungen für die Datei zu und entfernt frühere Berechtigungen, die dem Segment „andere“ zugewiesen wurden. Nehmen Sie eine Datei1.txt, die die folgenden Berechtigungen hat

Um „anderen ( o )“ Segment-Leseberechtigungen zuzuweisen, führen Sie sie nur aus

$ sudo chmod o=r file1.txt

Aus der Ausgabe können wir sehen, dass dem Segment „Andere“ Leseberechtigungen zugewiesen wurden, während es gleichzeitig die Ausführungsberechtigungen verloren hat. Dies impliziert, dass der =-Operator neue Berechtigungen zuweist und gleichzeitig die vorherigen Berechtigungen löscht.

Beispiel 5) Weisen Sie Datei- und Gruppeneigentümern Ausführungsberechtigungen zu

$ sudo chmod ug+x Dateiname

Der obige Befehl fügt dem Eigentümer und der Gruppe der Datei Ausführungsberechtigungen hinzu. Mit unserer Datei wird dies zu:

$ sudo chmod ug+x file1.txt

Beispiel 6) Weisen Sie Dateien, Gruppen und anderen unterschiedliche Berechtigungen zu

$ sudo chmod u=rwx,g=rw,o=r Dateiname

Der obige Befehl weist dem Eigentümer der Datei alle Berechtigungen zu, der Gruppe Lese- und Schreibberechtigungen und anderen Benutzern nur Leseberechtigungen.

HINWEIS: Wenn nach dem Operator =keine Berechtigungen angegeben sind, werden alle Berechtigungen aus dem Benutzersegment entfernt.

Beispiel 7) Entfernen Sie alle Berechtigungen für andere Benutzer

$ sudo chmod o=Dateiname

Der obige Befehl entfernt alle Berechtigungen des Benutzersegments „Andere“ für die angegebene Datei.

Der Befehl hat dieselbe Wirkung wie der folgende Befehl:

$ sudo chmod o-rwx Dateiname

Beispiel 8) Berechtigungen über eine Referenzdatei zuweisen

Eine weitere praktische und bequeme Möglichkeit, Dateiberechtigungen zuzuweisen, ist die Verwendung einer Referenzdatei. Bei dieser Methode verwenden Sie die Option –reference=ref_file, um die Berechtigungen einer Datei so festzulegen, dass sie denen einer anderen Referenzdatei entsprechen. Verwenden Sie die folgende Syntax

$ sudo chmod –reference=ref_file Dateiname

Um beispielsweise die Dateiberechtigungen von file2.txt auf die gleichen wie die von file1.txt einzustellen, führen Sie den folgenden Befehl aus:

$ sudo chmod --reference=file1.txt file2.txt

Die Referenzdatei ist file1.txt, während file2.txt die Datei ist, die die Dateiberechtigungen für die Referenzdatei übernimmt.

Beispiel 9) Ausführungsberechtigung nur Verzeichnissen zuweisen

Nehmen wir an, wir haben ein Verzeichnis mit Dateien und Unterverzeichnissen und wir möchten die Ausführungsberechtigung nur Verzeichnissen zuweisen, ohne Dateien zu berühren. Dies kann also mit dem folgenden chmod-Befehl erreicht werden,

$ chmod a+X *

Wenn Sie sorgfältig bemerkt haben, dass wir das große X für die Ausführungsberechtigung verwendet haben, wird der obige Befehl die Ausführungsberechtigung für alle Verzeichnisse unseres aktuellen Arbeitsverzeichnisses festlegen.

Fazit

Damit ist unser Thema abgeschlossen. Wir haben uns den Befehl chmod angesehen und verschiedene Beispiele gesehen, in denen der Befehl verwendet werden kann, um Dateiberechtigungen zu ändern.


Linux
  1. 8 Beispiele für schnelle Datumsbefehle in Linux

  2. Linux-Berechtigungen:Eine Einführung in chmod

  3. mv-Befehl unter Linux:7 wesentliche Beispiele

  4. Beispiele für Linux-Tail-Befehle

  5. file Befehlsbeispiele in Linux

Linux-WC-Befehl mit Beispielen

Chmod-Befehl unter Linux

Chmod-Befehl – ​​So ändern Sie Dateiberechtigungen in Linux

Linux-Chmod-Befehlsbeispiele

Linux cat-Befehlsbeispiele

Linux gzip-Befehlsbeispiele