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

Die Prinzipien und Mängel der MySQL-Volltextindizierung

Der MySQL-Volltextindex ist ein spezieller Index,...

JavaScript implementiert Ziehen mit der Maus, um die Div-Größe anzupassen

In diesem Artikel wird der spezifische JavaScript...

Verwenden Sie JS, um Dateien zu bearbeiten (FileReader liest --node's fs)

Inhaltsverzeichnis JS liest Datei FileReader doku...

Analyse der Vorteile von path.join() in Node.js

Sie fragen sich möglicherweise, warum Sie die Met...

So migrieren Sie SQLite zu einem MySQL-Skript

Ohne weitere Umschweife werde ich den Code direkt...

Beispiel für eine erzwungene Konvertierungsmethode für MySQL-Zeichenfolgen

Vorwort Da die Typen derselben Felder in den beid...

Verwendung des Linux-Befehls „userdel“

1. Befehlseinführung Der Befehl userdel (User Del...

CSS3 realisiert die Mask Barrage-Funktion

Kürzlich habe ich auf der B-Station einen Sperrfe...

Docker-Installation von MySQL (8 und 5.7)

In diesem Artikel wird die Verwendung von Docker ...

Allgemeines Startskriptbeispiel für ein Linux-Java-Programm

Allerdings ist die Häufigkeit des Shell-Starts se...