Detaillierte Erklärung der Befehle zur Berechtigungsverwaltung in Linux (chmod/chown/chgrp/unmask)

Detaillierte Erklärung der Befehle zur Berechtigungsverwaltung in Linux (chmod/chown/chgrp/unmask)

Die Verwaltung mehrerer Benutzer im Linux-Betriebssystem ist sehr umständlich, daher wird die Benutzerverwaltung mithilfe des Gruppenkonzepts vereinfacht. Jeder Benutzer kann einer unabhängigen Gruppe angehören und jede Gruppe kann null oder mehrere Benutzer haben. Dieser Artikel enthält eine detaillierte Erläuterung der Berechtigungsverwaltungsbefehle in Linux (chmod/chown/chgrp/unmask). Die spezifischen Inhalte sind wie folgt:

chmod

erklären

Befehlsname: chmod Befehl Englische Bedeutung: Ändert den Berechtigungsmodus einer Datei Befehlspfad: /bin/chmod Ausführungsberechtigung: alle Benutzer Funktionsbeschreibung: Ändert die Datei- oder Verzeichnisberechtigungen

Grammatik

chmod [{ugoa}{+-=}{rwx}] [Datei oder Verzeichnis] 
chmod [Modus=421] [Datei oder Verzeichnis]
 -R rekursive Modifikation # Die erste Modifikationsmethode chmod [{ugoa}{+-=}{rwx}] [Datei oder Verzeichnis]
ugoa:
 u: Besitzer g: Gruppe o: Andere a: Jeder +-=:
 +: Fügt einer Datei oder einem Verzeichnis eine Berechtigung hinzu -: Reduziert einer Datei oder einem Verzeichnis eine Berechtigung =: Erteilt einer Datei oder einem Verzeichnis neue Berechtigungen, basierend auf den aktuellen Berechtigungen # Die zweite Änderungsmethode chmod [mode=421] [file or directory]
rwx:
 R:4
 w:2
 x:1
rwxrw-r--
 Erlaubnis: 764 (4+2+1=7/4+2=6/4)

Beispiel

# Die erste Möglichkeit, die Berechtigungen zu erhöhen chmod g+x test.txt
 
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r--r-- 1 Wurzel Wurzel 11 Nov 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod g+x test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 Wurzel Wurzel 11 Nov 28 15:39 test.txt

# Die zweite Möglichkeit, die Berechtigungen zu erhöhen: chmod 777 test.txt

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rw-r-xr-- 1 Wurzel Wurzel 11 Nov 28 15:39 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test.txt
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test.txt
-rwxrwxrwx 1 root root 11. November 28 15:39 test.txt

Besonderes Augenmerk auf Berechtigungen

# Erstellen Sie einen neuen Ordner test unter /tmp
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# mkdir test

# Erstellen Sie eine neue test.txt im Ordner /tmp/test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# touch test/test.txt

# Zeigen Sie die Dateien unter der Testdatei an [root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test
gesamt 0
-rw-r--r-- 1 root root 0 28. Nov. 17:54 test.txt

# Überprüfen Sie die Berechtigungen des Ordners /tmp/test [root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld test
drwxr-xr-x 2 root root 4096 28. Nov. 17:54 Test

# Volle Berechtigungen für den Ordner /tmp/test erteilen [root@izm5e2q95pbpe1hh0kkwoiz tmp]# chmod 777 test
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -ld test
drwxrwxrwx 2 root root 4096 28. Nov. 17:54 Test

[root@izm5e2q95pbpe1hh0kkwoiz tmp]# ls -l test/test.txt
-rw-r--r-- 1 root root 0 28. Nov. 17:54 test/test.txt

# Fügen Sie einen neuen normalen Benutzer hinzu und ändern Sie das Passwort [root@izm5e2q95pbpe1hh0kkwoiz tmp]# useradd eternity
[root@izm5e2q95pbpe1hh0kkwoiz tmp]# passwd Ewigkeit

# Verwenden Sie das Eternity-Konto und das Passwort 123456, um sich beim Server anzumelden. # Zeigen Sie das aktuelle Verzeichnis an [eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ pwd
/home/Ewigkeit

# Wechseln Sie in das Verzeichnis /tmp [eternity@izm5e2q95pbpe1hh0kkwoiz ~]$ cd /tmp

# Überprüfen Sie die Berechtigungen des Verzeichnisses /tmp/test, das über alle Berechtigungen verfügt [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -ld test
drwxrwxrwx 2 root root 4096 28. Nov. 17:54 Test

# test.txt existiert im Verzeichnis /tmp/test und hat Leseberechtigung [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
-rw-r--r-- 1 root root 0 28. Nov. 17:54 test/test.txt

# Löschen Sie die Datei test.txt unter /tmp/test [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ rm test/test.txt
rm: schreibgeschützte normale leere Datei „test/test.txt“ entfernen? y

# Löschen erfolgreich. Zu diesem Zeitpunkt existiert test.txt nicht mehr im Verzeichnis /tmp/test [eternity@izm5e2q95pbpe1hh0kkwoiz tmp]$ ls -l test/test.txt
ls: kann nicht auf test/test.txt zugreifen: Keine solche Datei oder kein solches Verzeichnis

Nur der Administrator hat rw-Lese- und Schreibberechtigungen, und die Gruppe und andere haben nur Leseberechtigungen. Zu diesem Zeitpunkt löschten jedoch normale Benutzer die Datei mit nur r-Leseberechtigungen. Warum???? Zusammenfassung der Dateiverzeichnisberechtigungen

Repräsentative Charaktere Berechtigungen Auswirkungen auf die Datei Auswirkungen auf Verzeichnisse
R Leseberechtigung Sie können den Dateiinhalt anzeigen Kann den Inhalt eines Verzeichnisses auflisten
m Schreibberechtigungen Kann Dateiinhalte ändern Kann Dateien im Verzeichnis erstellen und löschen
X Ausführungsberechtigungen Ausführbare Datei Kann das Verzeichnis betreten

analysieren

Das Schreibrecht für eine Datei bedeutet lediglich, dass der Inhalt der Datei verändert werden kann, nicht aber das Recht, die Datei zu löschen.

Besitzen Schreibrechte für das Verzeichnis und können Dateien im Verzeichnis erstellen und löschen

Da die Berechtigungen des obigen Verzeichnisses /tmp/test 777 betragen, haben normale Benutzer auch die Berechtigungen, Dateien im Verzeichnis /tmp/test zu erstellen und zu löschen. Daher können normale Benutzer auch die Datei /tmp/test/test.txt löschen. Normale Benutzer können die Datei /tmp/test/test.txt jedoch nicht bearbeiten. Wenn Sie vim zum Bearbeiten der Datei verwenden, wird die Meldung „Warnung: Ändern einer schreibgeschützten Datei“ angezeigt.

chown

erklären

Befehlsname: chown Befehl Englische Bedeutung: Dateieigentümer ändern Befehlspfad: /bin/chown Ausführungsberechtigung: alle Benutzer Funktionsbeschreibung: Besitzer einer Datei oder eines Verzeichnisses ändern

Grammatik

chown [Benutzer] [Datei oder Verzeichnis]

Unter Linux kann nur Root den Dateibesitzer ändern, nicht einmal der Ersteller.

Beispiel

# Ändern Sie den Dateibesitzer (ändern Sie den Besitzer von test.txt von „eternity“ auf „root“)
chown root /tmp/test/test.txt

[root@izm5e2q95pbpe1hh0kkwoiz ~]# pwd
/Wurzel
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 Ewigkeit Ewigkeit 7 Nov 28 18:15 /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# chown root /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 Wurzel Ewigkeit 7 Nov 28 18:15 /tmp/test/test.txt

chgrp

erklären

Befehlsname: chgrp
Die ursprüngliche Bedeutung des Befehls im Englischen: change file group owned
Befehlspfad:/bin/chgrp
Ausführungsberechtigung: Alle Benutzer Funktionsbeschreibung: Ändern der Gruppe, zu der eine Datei oder ein Verzeichnis gehört

Grammatik

chgrp [Benutzergruppe] [Datei oder Verzeichnis]

Beispiel

# Ändern Sie die Gruppe, zu der die Datei gehört (ändern Sie die Gruppe, zu der test.txt gehört, von eternity in eternityz)
chgrp eternityz /tmp/test/test.txt

# Aktuelles Verzeichnis [root@izm5e2q95pbpe1hh0kkwoiz ~]# pwd
/Wurzel
# Detaillierte Informationen anzeigen [root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 Wurzel Ewigkeit 7 Nov 28 18:15 /tmp/test/test.txt
# Eternityz-Gruppe hinzufügen [root@izm5e2q95pbpe1hh0kkwoiz ~]# groupadd eternityz
# Ändern Sie die Gruppe [root@izm5e2q95pbpe1hh0kkwoiz ~]# chgrp eternityz /tmp/test/test.txt
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/test/test.txt
-rw-r--r-- 1 root eternityz 7. November 28 18:15 /tmp/test/test.txt

umask

erklären

Befehlsname: umask Befehl Englische Originalbedeutung: die Benutzermaske zum Erstellen von Dateien Befehlspfad: in die Shell integrierter Befehl Ausführungsberechtigung: alle Benutzer Funktionsbeschreibung: die Standardberechtigungen der Datei anzeigen/festlegen

Grammatik

umask [-S] -S Zeigt die Standardberechtigungen für neu erstellte Dateien in der Form rwx (großes S) an

Beispiel

# Zeigen Sie die Standardberechtigungen der Datei an umask -S

# Überprüfen Sie umask
umask

[root@izm5e2q95pbpe1hh0kkwoiz ~]# umask
0022

0022 in 0 Sonderberechtigungen 022 ----w--w-

# Führen Sie eine XOR-Operation für alle Berechtigungen 777 und 022 durch, um die Standardberechtigung 777 rwx rwx rwx zu erhalten
022 --- -w- -w-
================
Verzeichnis rwx rx rx
Datei rwx r-- r--


# Ändern Sie den Umask-Wert, um die Standardberechtigung Umask 077 zu ändern

# Nach dem Ändern des Umask-Werts lauten die Standardberechtigungen 777 rwx rwx rwx
077 --- rwx rwx
================
Verzeichnis rwx --- ---
Datei rw- --- ---

# Das folgende Experiment entspricht der Einstellung zum Ändern der Standardberechtigungen [root@izm5e2q95pbpe1hh0kkwoiz ~]# umask 077
[root@izm5e2q95pbpe1hh0kkwoiz ~]# mkdir /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -ld /tmp/lyf
drwx------ 2 root root 4096 29. Nov. 10:55 /tmp/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# berühren /tmp/lyf/lyf
[root@izm5e2q95pbpe1hh0kkwoiz ~]# ls -l /tmp/lyf/lyf
-rw------ 1 root root 0 29. Nov. 10:56 /tmp/lyf/lyf

Unter Linux kann nur Root den Dateibesitzer ändern. Selbst der Ersteller kann den Dateiersteller nicht als Standardbesitzer festlegen. In diesem Fall ist die Standardgruppe auch der Dateiersteller. Die Standardberechtigungen für Ordner unter Linux sind rwxr-xr-x und die Standardberechtigungen für Dateien sind rw-r--r--. Neue Dateien haben keine Ausführungsberechtigungen.

Dies ist das Ende dieses Artikels mit der detaillierten Erläuterung der Befehle zur Berechtigungsverwaltung in Linux (chmod/chown/chgrp/unmask). Weitere relevante Inhalte zu Linux-Befehlen zur Berechtigungsverwaltung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Allgemeine Linux-Befehle chmod zum Ändern der Dateiberechtigungen 777 und 754
  • Detaillierte Analyse des chmod-Befehls zum Ändern von Dateiberechtigungen in Linux
  • Befehl zum Ändern der Linux-Dateiberechtigungen: ausführliche Erklärung des chmod-Befehls
  • Detaillierte Analyse des Befehls chmod zum Ändern der Dateiberechtigungen unter Linux

<<:  Lösung für den MySQL-Server-Anmeldefehler ERROR 1820 (HY000)

>>:  Detaillierte Schritte zum Erstellen einer React-Anwendung mit einer Rails-API

Artikel empfehlen

So verwenden Sie JS WebSocket zur Implementierung eines einfachen Chats

Inhaltsverzeichnis Kurze Umfrage Langfristige Abf...

Verwenden Sie nginx, um virtuelle Hosts auf Domänennamenbasis zu konfigurieren

1. Was ist ein virtueller Host? Virtuelle Hosts v...

Entwicklungsdetails von Vue3-Komponenten

Inhaltsverzeichnis 1. Einleitung 2. Komponentenen...

So verwenden Sie crontab zum Hinzufügen geplanter Aufgaben in Linux

Vorwort Das Linux-System wird durch den Systemdie...

Tutorial zur Installation von MySQL 5.7.18 unter Windows 10

In diesem Tutorial erfahren Sie alles über die In...

Detaillierte Erläuterung des Prozessmanagements im Linux-System

Inhaltsverzeichnis 1. Das Konzept von Prozess und...

JavaScript-Grundlagenobjekte

Inhaltsverzeichnis 1. Gegenstand 1.1 Was ist ein ...

Vue Storage enthält eine Lösung für Boolesche Werte

Vue speichert Speicher mit Booleschen Werten Ich ...

So erstellen Sie eine TAR-Datei von WSL über Docker

Ich habe kürzlich mit der Remote-Entwicklungsfunk...

Detailliertes Installationstutorial für MySQL 5.7 unter CentOS 6 und 7

Für die Entwicklung benötigen Sie immer Daten. Al...

mysql 5.7.18 winx64 Passwort ändern

Nachdem MySQL 5.7.18 erfolgreich installiert wurd...