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

Beispiele für grundlegende „chmod“-Befehle unter Linux

Der Linux-Befehl zum Ändern der Berechtigungen für eine Datei oder ein Verzeichnis lautet chmod, was wir gerne als Dateimodus ändern lesen. chmod hat zwei Betriebsarten:

  1. symbolischer Modus
  2. numerischer/oktaler Modus

Um die Berechtigung mit dem Linux-Befehl chmod zu ändern, müssen wir einige Syntax und Regeln befolgen. Wie wir oben besprochen haben, können wir die Berechtigung auf numerische und alphabetische Weise ändern, hier habe ich beide Methoden mit allen Tricks erklärt.

Alphabetisch

Um diese Methode zu verwenden, müssen Sie sich an die folgenden Regeln und Alphabete für die richtige Verwendung erinnern. Um die Berechtigung des Benutzers zu ändern, müssen Sie das Alphabet „u verwenden “. So für die Gruppe „g “ und für andere ist es „o „.

Wie Benutzer, Gruppe und andere müssen wir uns einige Alphabete merken, um Lese-, Schreib- und Ausführungsberechtigungen zu erteilen. Ebenso müssen Sie für die Leseberechtigung das Alphabet „r verwenden “, für Schreiben Sie „w “ und für Ausführen ist es „x „.

Die Formel zum Zuweisen von Berechtigungen mit dem Befehl chmod ist also unten dargestellt:

  • u – Benutzer
  • g – Gruppe
  • o – Andere
  • r – Lesen
  • w – Schreiben
  • x – Ausführen

Wenn Sie beispielsweise Benutzern/Eigentümern Lese- und Schreibberechtigungen und Gruppen und anderen Leseberechtigungen in alphabetischer Reihenfolge erteilen möchten, lautet der Befehl:

# chmod u+rw,g+r,o+r file_name

Numerischer Weg

Um diese Methode zu verwenden, müssen Sie sich an die folgenden Regeln und Nummern für die ordnungsgemäße Verwendung erinnern.

  • 4 – Leseberechtigung erteilen
  • 2 – Um eine Schreibberechtigung zu erteilen
  • 1 – Erteilen der Ausführungserlaubnis

Wenn Sie beispielsweise Benutzern/Eigentümern Lese- und Schreibberechtigungen und Gruppen und anderen Leseberechtigungen auf numerische Weise erteilen möchten, lautet die Befehlsberechnung:

4+2 =6 :Dies fügt dem Benutzer/Eigentümer die Lese- und Schreibberechtigung hinzu.
4 :Dies fügt der Gruppe die Leseberechtigung hinzu.
4 :Dies fügt der anderen die Leseberechtigung hinzu.

Der Befehl wäre also wie folgt:

# chmod 644 filename

Sie können die Berechtigung jeder Datei mit dem folgenden Befehl überprüfen:

# ls -l file.txt 
-rw-rw-r-- 1 geeklab geeklab 0 Feb 20 06:16 file.txt

Und verwenden Sie den folgenden Befehl, um die Berechtigung eines Verzeichnisses zu überprüfen:

# ls -ld data/
drwxrwxr-x 2 geeklab geeklab 4096 Feb 20 06:18 data/

Hier stellt sich nun die Frage, wie man erkennt, welche Berechtigungen einer Datei oder einem Verzeichnis zugewiesen wurden. Es ist ganz einfach. Oben habe ich zwei Beispiele gegeben. Lassen Sie uns nun die Berechtigung von file.txt identifizieren. Wenn Sie bemerken, dass die Eigenschaften der Datei mit „-rw-rw-r–“ beginnen. Hier können wir erkennen, welche Berechtigung file.txt zugewiesen wurde.

Der Berechtigungsabschnitt ist in 10 Bits unterteilt, von denen

” :Das erste Bit ist dafür verantwortlich zu identifizieren, ob es sich um eine Datei, ein Verzeichnis oder einen symbolischen Link handelt. Siehe die folgenden Symbole:

Wichtige Symbole:

  • :Einer Datei zugewiesene Berechtigung
  • d :Einem Verzeichnis zugewiesene Berechtigung
  • l :Einem symbolischen Link zugewiesene Berechtigung
  • 2., 3., 4. Bit sind für die Erlaubnis des Eigentümers.
  • 5., 6., 7. Bit sind für die Erlaubnis der Gruppe.
  • 8., 9., 10. Bit sind für die Erlaubnis anderer.

Um einer Datei/einem Verzeichnis die Berechtigung zu erteilen, müssen Sie „+ verwenden „Symbol. Um die Berechtigung von einer Datei/einem Verzeichnis zu entfernen, müssen Sie „ verwenden ” Symbol.

Beispiele für die Verwendung des Befehls chmod

Einer Datei eine Berechtigung zuweisen

Hier habe ich eine Datei namens file.txt. Lassen Sie uns dem Benutzer/Besitzer mit dem Befehl chmod die Lese- und Schreibberechtigung erteilen.

$ chmod u+rw file.txt
$ ls -l file.txt 
-rw------- 1 geeklab geeklab 0 Feb 20 06:16 file.txt

Verwenden Sie auf numerischem Wege den folgenden Befehl:

$ chmod 600 file.txt

Einem Verzeichnis Berechtigungen zuweisen

Der folgende Befehl kann verwendet werden, um einem Verzeichnis Berechtigungen zu erteilen. Hier habe ich ein Verzeichnis namens data. Lassen Sie uns also dem Benutzer/Eigentümer die volle Berechtigung (Lesen, Schreiben, Ausführen) erteilen. Siehe folgenden Befehl.

$ chmod u+rwx data/
$ ls -ld data/
drwx------ 2 geeklab geeklab 4096 Feb 20 06:18 data/

Zahlweise:

$ chmod 700 data/

Berechtigung von einer Datei/einem Verzeichnis entfernen

Entfernen Sie die Berechtigung von einer Datei/einem Verzeichnis mit dem folgenden Linux-Befehl chmod. Hier entziehe ich dem Benutzer/Eigentümer die Lese- und Schreibberechtigung.

$ chmod u-rw file.txt 
$ ls -l file.txt 
----rw-r-- 1 geeklab geeklab 0 Feb 20 07:18 file.txt

Jedem die Berechtigung erteilen

Sie können den folgenden Befehl verwenden, um allen die Erlaubnis zu erteilen. Hier weise ich jedem die volle Berechtigung zum Zugriff auf file.txt zu. Es gibt zwei Methoden, um dasselbe zu tun.

Methode 1

$ chmod a+rwx file.txt 
$ ls -l file.txt 
-rwxrwxrwx 1 geeklab geeklab 0 Feb 20 06:44 file.txt

Methode 2
Sie können auch den folgenden Linux-chmod-Befehl verwenden, um dasselbe zu tun.

$ chmod ugo+rwx file.txt 
$ ls -l file.txt 
-rwxrwxrwx 1 geeklab geeklab 0 Feb 20 06:44 file.txt

Zahlweise :

$ chmod 777 file.txt 

Weisen Sie Benutzern, Gruppen und anderen unterschiedliche Berechtigungen zu, indem Sie einen einzigen Linux-chmod-Befehl verwenden

Hier entferne ich die Ausführungsberechtigung von Benutzer/Eigentümer und füge der Gruppe und anderen die Ausführungsberechtigung hinzu, indem ich einen einzigen Befehl verwende.

$ chmod u-x,g+x,o+x file.txt
$ ls -l file.txt 
-rw-rwxrwx 1 geeklab geeklab 0 Feb 20 09:40 file.txt

Geben Sie einer Datei die Berechtigung, indem Sie auf eine andere Datei verweisen

Sie können die Berechtigung von einer Datei in eine andere kopieren. Hier habe ich eine Datei namens a1.txt, deren Berechtigung so etwas wie „-rw-r–r– ist „.

$ ls -l a1.txt 
-rw-r--r-- 1 geeklab geeklab 0 Feb 20 07:21 a1.txt

Jetzt möchte ich meiner anderen Datei mit dem Namen a2.txt dieselbe Berechtigung zuweisen. Sie können dies mit dem Linux-Befehl chmod mit dem Argument –reference tun. Siehe folgenden Befehl.

$ chmod --reference=a1.txt a2.txt 
$ ls -l a2.txt 
-rw-r--r-- 1 geeklab geeklab 0 Feb 20 07:22 a2.txt

Berechtigung rekursiv zuweisen

Ich habe ein Verzeichnis namens data, in dem ich so viele Dateien habe, und ich möchte allen auf einmal die Berechtigung erteilen, anstatt manuell einzeln. Dazu können Sie den Linux-Befehl chmod mit dem Argument -R verwenden. Dies wird Ihnen helfen, die Erlaubnis rekursiv zu erteilen.

$ chmod -R ugo+rwx data/

Zahlweise :

$ chmod -R 777 data/

Berechtigung mit ausführlicher Ausgabe zuweisen

Sie können eine Ausgabe erhalten, nachdem Sie allen Dateien/Verzeichnissen die Berechtigung zugewiesen haben, indem Sie den Linux-Befehl chmod mit dem Argument -v verwenden. Siehe den folgenden Befehl.

$ chmod -v 777 file.txt 
mode of 'file.txt' changed from 0664 (rw-rw-r--) to 0777 (rwxrwxrwx)

Erlaubnis der Ausgabe zuweisen (Dieser Befehl gibt nur dann eine Ausgabe aus, wenn es Änderungen gibt)

Der Befehl chmod mit dem Argument -c macht auch dasselbe wie die ausführliche Ausgabe (d. h. -v). Die Ausgabe wird jedoch nur angezeigt, wenn sich die Berechtigung geändert hat. Wenn Sie dieselbe Berechtigung zuweisen, wird keine Ausgabe angezeigt.

$ chmod -c 755 file.txt 
mode of 'file.txt' changed from 0777 (rwxrwxrwx) to 0755 (rwxr-xr-x)

Zuweisen von Berechtigungen durch Ignorieren/Beheben von Fehlern

Um Fehler zu vermeiden oder Fehler beim Zuweisen von Berechtigungen zu beheben, können Sie den Linux-Befehl chmod mit dem Argument -f verwenden. Siehe den folgenden Befehl.

$ chmod -f 755 file.txt 

Hilfe zum chmod-Befehl

Für weitere Optionen und Argumente des chmod-Befehls können Sie den folgenden Befehl verwenden.

$ chmod --help
Usage: chmod [OPTION]... MODE[,MODE]... FILE...
  or:  chmod [OPTION]... OCTAL-MODE FILE...
  or:  chmod [OPTION]... --reference=RFILE FILE...
Change the mode of each FILE to MODE.
With --reference, change the mode of each FILE to that of RFILE.

  -c, --changes          like verbose but report only when a change is made
  -f, --silent, --quiet  suppress most error messages
  -v, --verbose          output a diagnostic for every file processed
      --no-preserve-root  do not treat '/' specially (the default)
      --preserve-root    fail to operate recursively on '/'
      --reference=RFILE  use RFILE's mode instead of MODE values
  -R, --recursive        change files and directories recursively
      --help     display this help and exit
      --version  output version information and exit

Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

GNU coreutils online help: [http://www.gnu.org/software/coreutils/]
Full documentation at: [http://www.gnu.org/software/coreutils/chmod]
or available locally via: info '(coreutils) chmod invocation'

Chmod-Befehlsversion prüfen

Sie können den Linux-Befehl chmod mit dem Argument –version verwenden, um die Version der installierten chmod-Befehlsversion zu überprüfen.

$ chmod --version
chmod (GNU coreutils) 8.25
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later [http://gnu.org/licenses/gpl.html].
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie and Jim Meyering.


Linux
  1. mv-Befehl unter Linux:7 wesentliche Beispiele

  2. Beispiele für Linux-Tail-Befehle

  3. ln-Befehlsbeispiele in Linux

  4. Beispiele für gzip-Befehle unter Linux

  5. mehr Befehlsbeispiele in Linux

Linux-Chmod-Befehlsbeispiele

Linux cat-Befehlsbeispiele

Linux gzip-Befehlsbeispiele

dumpe2fs-Befehlsbeispiele in Linux

fsck-Befehlsbeispiele unter Linux

mkfs-Befehlsbeispiele in Linux