Zusammenfassung der Wissenspunkte zu den grundlegenden Attributen von Linux-Dateien

Zusammenfassung der Wissenspunkte zu den grundlegenden Attributen von Linux-Dateien

Das Linux-System ist ein typisches Mehrbenutzersystem. Verschiedene Benutzer haben unterschiedliche Positionen und unterschiedliche Berechtigungen. Um die Sicherheit des Systems zu schützen, gelten im Linux-System für verschiedene Benutzer unterschiedliche Bestimmungen hinsichtlich der Berechtigungen für den Zugriff auf dieselbe Datei (einschließlich Verzeichnisdateien).

Unter Linux können wir den Befehl ll oder ls –l verwenden, um die Attribute einer Datei sowie den Benutzer und die Gruppe anzuzeigen, zu der die Datei gehört, beispielsweise:

[root@www /]# ls -l
insgesamt 64
dr-xr-xr-x 2 root root 4096 14. Dezember 2012 bin
dr-xr-xr-x 4 root root 4096 19. April 2012 booten
…

Im Beispiel wird das erste Attribut der Binärdatei durch „d“ dargestellt. „d“ bedeutet unter Linux, dass die Datei eine Verzeichnisdatei ist.

Unter Linux gibt das erste Zeichen an, ob es sich bei der Datei um ein Verzeichnis, eine Datei, eine Linkdatei usw. handelt.

  • Wenn [d], ist es ein Verzeichnis
  • Wenn [-], ist es eine Datei;
  • Wenn [l], bedeutet es eine Linkdatei;
  • Wenn [b], bedeutet dies ein Schnittstellengerät (Random Access Device) in der Gerätedatei, das zur Speicherung verwendet werden kann;
  • Wenn [c], weist es in der Gerätedatei auf ein Gerät mit serieller Schnittstelle hin, beispielsweise eine Tastatur oder eine Maus (ein Gerät zum einmaligen Lesen).
  • Die folgenden Zeichen sind in Dreiergruppen zusammengefasst und sind allesamt Kombinationen der drei Parameter von „rwx“. Darunter steht [r] für lesbar (Lesen), [w] für beschreibbar (Schreiben) und [x] für ausführbar (Ausführen). Es ist wichtig zu beachten, dass sich die Positionen dieser drei Berechtigungen nicht ändern. Wenn keine Berechtigungen vorhanden sind, wird stattdessen ein Minuszeichen [-] angezeigt.

Die Eigenschaften jeder Datei werden durch die 10 Zeichen im ersten Teil links bestimmt (wie unten gezeigt).

Von links nach rechts werden sie durch die Zahlen 0-9 dargestellt.

Bit 0 bestimmt den Dateityp und die Bits 1-3 bestimmen die Berechtigungen, die der Eigentümer (der Besitzer der Datei) für die Datei hat.

Die Bits 4 bis 6 bestimmen die Berechtigungen, die die Gruppe (Benutzer in derselben Gruppe wie der Eigentümer) für die Datei hat, und die Bits 7 bis 9 bestimmen die Berechtigungen, die andere Benutzer für die Datei haben.

Das 1., 4. und 7. Bit stellen dabei Leseberechtigungen dar. Wenn sie durch das Zeichen „r“ dargestellt werden, werden Leseberechtigungen gewährt. Wenn sie durch das Zeichen „-“ dargestellt werden, werden Leseberechtigungen verweigert.

Das 2., 5. und 8. Bit repräsentieren Schreibberechtigungen. Werden sie durch das Zeichen „w“ dargestellt, liegt eine Schreibberechtigung vor. Werden sie durch das Zeichen „-“ dargestellt, liegt keine Schreibberechtigung vor. Das 3., 6. und 9. Bit repräsentieren Ausführungsberechtigungen. Werden sie durch das Zeichen „x“ dargestellt, liegt eine Ausführungsberechtigung vor. Werden sie durch das Zeichen „-“ dargestellt, liegt keine Ausführungsberechtigung vor.

Linux-Dateibesitzer und -Gruppe

[root@www /]# ls -l
insgesamt 64
drwxr-xr-x 2 root root 4096 15. Feb 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 21. April 2014 mysql
…

Eine Datei hat einen bestimmten Eigentümer, d. h. den Benutzer, der Eigentümer der Datei ist.

Gleichzeitig werden Benutzer im Linux-System in Gruppen eingeteilt und ein Benutzer gehört zu einer oder mehreren Gruppen.

Andere Benutzer als der Dateieigentümer können in Benutzer derselben Gruppe wie der Dateieigentümer und andere Benutzer unterteilt werden.

Daher definiert das Linux-System unterschiedliche Dateizugriffsberechtigungen je nach Dateieigentümer, Benutzern in derselben Gruppe wie der Dateieigentümer und anderen Benutzern.

Im obigen Beispiel ist die MySQL-Datei eine Verzeichnisdatei. Ihr Besitzer und ihre Gruppe sind beide MySQL. Der Besitzer hat Lese-, Schreib- und Ausführungsberechtigungen. Andere Benutzer in derselben Gruppe wie der Besitzer haben Lese- und Ausführungsberechtigungen. Andere Benutzer haben ebenfalls Lese- und Ausführungsberechtigungen.

Für den Root-Benutzer haben die Dateiberechtigungen im Allgemeinen keine Auswirkungen.

Dateiattribute ändern

1. chgrp: Ändern der Dateigruppe

Grammatik:

chgrp [-R] Gruppenname Dateiname

Parameteroptionen

-R: Dateigruppe rekursiv ändern. Das heißt, wenn Sie die Gruppe einer Datei in einem Verzeichnis ändern und den Parameter -R hinzufügen, wird die Gruppe aller Dateien im Verzeichnis geändert.

2. chown: Ändern Sie den Dateibesitzer und Sie können gleichzeitig auch die Dateigruppe ändern

Grammatik:

chown [–R] Eigentümername Dateiname
chown [-R] Eigentümername:Gruppenname Dateiname

Geben Sie das /root-Verzeichnis (~) ein und ändern Sie den Besitzer von install.log in das Bin-Konto:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin Benutzer 68495 25. Juni 08:53 install.log

Ändern Sie den Besitzer und die Gruppe von install.log zurück zu root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 25. Juni 08:53 install.log

3. chmod: 9 Dateiattribute ändern

Es gibt zwei Möglichkeiten, Linux-Dateiattribute festzulegen: eine mit Zahlen und die andere mit Symbolen.

Es gibt neun grundlegende Berechtigungen für Linux-Dateien, nämlich Besitzer/Gruppe/Andere, jeweils mit eigenen Lese-/Schreib-/Ausführungsberechtigungen.

Lassen Sie uns die oben genannten Daten noch einmal durchgehen: Die Dateiberechtigungszeichen lauten: „-rwxrwxrwx“, und diese neun Berechtigungen sind in Dreiergruppen angeordnet! Darunter können wir Zahlen verwenden, um jede Berechtigung darzustellen. Die Punktevergleichstabelle für jede Berechtigung sieht wie folgt aus:

R:4
w:2
x:1

Die Punktzahlen der drei Berechtigungen (r/w/x) jeder Identität (Besitzer/Gruppe/andere) müssen kumuliert werden. Wenn die Berechtigungen beispielsweise [-rwxrwx---] lauten, lauten die Punktzahlen:

Besitzer = rwx = 4+2+1 = 7
Gruppe = rwx = 4+2+1 = 7
andere= --- = 0+0+0 = 0

Wenn wir also später die Berechtigungsänderungen vornehmen, beträgt die Berechtigungsnummer der Datei 770! Die Syntax des chmod-Befehls zum Ändern von Berechtigungen lautet wie folgt:

chmod [-R] xyz Datei oder Verzeichnis

Optionen und Parameter:

xyz: Dies ist das gerade erwähnte numerische Berechtigungsattribut, das die Summe der rwx-Attributwerte ist.

-R: Führt rekursive Änderungen aus, d. h. alle Dateien im Unterverzeichnis werden geändert

Möchten Sie beispielsweise alle Berechtigungen der .bashrc-Datei aktivieren, lautet der Befehl wie folgt:

[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 4. Juli 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 4. Juli 11:45 .bashrc

Was ist, wenn Sie die Berechtigungen in -rwxr-xr-- ändern möchten? Der Autoritätswert beträgt dann [4+2+1][4+0+1][4+0+0]=754.

Es gibt noch eine andere Möglichkeit, die Berechtigungen von Dateien zu ändern. Aus der vorherigen Einführung können wir ersehen, dass es grundsätzlich neun Berechtigungen gibt:

(1)Benutzer
(2)Gruppe
(3) Sonstiges

Dann können wir u, g, o verwenden, um die Berechtigungen von drei Identitäten darzustellen!

Darüber hinaus steht „a“ für „all“, also alle Identitäten. Lese- und Schreibberechtigungen können als r, w, x geschrieben werden, was mithilfe der folgenden Tabelle angezeigt werden kann:

Wenn wir die Dateiberechtigungen auf -rwxr-xr-- setzen müssen, können wir chmod u=rwx,g=rx,o=r Dateiname verwenden, um dies festzulegen:

# touch test1 // Test1-Datei erstellen# ls -al test1 // Test1-Standardberechtigungen anzeigen -rw-r--r-- 1 root root 0 15. Nov. 10:32 test1
# chmod u=rwx,g=rx,o=r test1 // Test1-Berechtigungen ändern # ls -al test1
-rwxr-xr-- 1 root root 0 15. Nov. 10:32 test1

Was ist, wenn Sie Berechtigungen entfernen möchten, ohne andere vorhandene Berechtigungen zu ändern? Um beispielsweise die Ausführungsberechtigung für alle zu entfernen, gehen Sie wie folgt vor:

# chmod ax test1
# ls -al test1
-rw-r--r-- 1 Wurzel Wurzel 0 15. Nov. 10:32 test1

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So analysieren Sie die Attributschnittstelle zum Hinzufügen eines Dateisystems unter Linux oder Android
  • Python ändert die Berechtigungen von Dateien (Ordnern) in Linux
  • Linux-Shell - Beispiel zum Testen von Dateisystemattributen durch Identifizierung
  • Was sind die Dateiattribute von crw, brw, lrw usw. in Linux?
  • Detaillierte Beispiele zum Anzeigen von Dateiattributen in Linux (ls, lsattr, file, stat)
  • Eine kurze Diskussion über die Linux-Ordnerattribute rwxrwxrwt

<<:  JS implementiert Layoutkonvertierung in Animation

>>:  MySQL verwendet ein Limit, um die Beispielmethode für Paging zu implementieren

Artikel empfehlen

So stellen Sie mit Docker schnell einen Elasticsearch-Cluster bereit

In diesem Artikel werden Docker Container (orches...

HTML-Optimierungstechniken, die Sie kennen müssen

Um die Leistung von Webseiten zu verbessern, begi...

Miniprogramm zur Implementierung des Paging-Effekts

In diesem Artikelbeispiel wird der spezifische Co...

Hyperlink-Tag für HTML-Webseiten

Lernprogramm zum Hyperlink-Tag einer HTML-Webseit...

Detaillierte Untersuchung der MySQL-Mehrversions-Parallelitätskontrolle MVCC

MVCC MVCC (Multi-Version Concurrency Control) ist...

Eine kurze Erläuterung des Sperrbereichs der MySQL-Next-Key-Sperre

Vorwort Eines Tages wurde ich plötzlich nach der ...

Bringen Sie Ihnen bei, wie Sie die Zeigerposition in Javascript erhalten

Die Methode zum Abrufen der Zeigerposition in Jav...

Docker-Image-Optimierung (von 1,16 GB auf 22,4 MB)

Inhaltsverzeichnis Der erste Schritt der Optimier...

Detaillierte Erläuterung des Vue-Routing-Routers

Inhaltsverzeichnis Routing-Plugins modular nutzen...

Detaillierte Erklärung der Lösung für das Nginx-Panikproblem

In Bezug auf das Nginx-Panikproblem müssen wir zu...