Detaillierte Erklärung zur Verwendung von umask unter Linux

Detaillierte Erklärung zur Verwendung von umask unter Linux

Ich habe vor Kurzem angefangen, Linux zu lernen. Nachdem ich Ma Ge's Linux-Kurs über umask gelesen hatte, schrieb ich diesen Blog in der Hoffnung, mein Verständnis von umask zu vertiefen und Bloggern zu helfen, die sich über umask nicht im Klaren sind.

1 Was ist umask

Wenn wir uns beim System anmelden und eine Datei erstellen, ist eine Standardberechtigung vorhanden. Woher kommt diese Berechtigung? Dies ist, was umask macht. umask wird verwendet, um die Standardberechtigungen für Benutzer zum Erstellen von Dateien oder Verzeichnissen festzulegen. umask legt die „Ergänzung“ der Berechtigungen fest, während wir häufig chmod verwenden, um Dateiberechtigungscodes festzulegen. Der Umask-Wert wird normalerweise in /etc/profile, HOME/.bashprofile oder HOME/.profile festgelegt.

2 Wofür wird umask verwendet?

Der Standardwert von umask ist 022 (Sie können ihn mit dem Befehl umask anzeigen). Derzeit sind die Standardberechtigungen der von Ihnen erstellten Dateien 644 (6-0, 6-2, 6-2) und die Standardberechtigungen der von Ihnen erstellten Verzeichnisse 755 (7-0, 7-2, 7-2). Sie können dies mit ls -l überprüfen. Jetzt sollten Sie den Zweck von umask kennen, nämlich die Steuerung der Standardberechtigungen.

[root@bogon test]# id
uid=0(Wurzel) gid=0(Wurzel) Gruppen=0(Wurzel) Kontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@bogon test]# umask
0022
[root@bogon test]# touch a.txt
[root@bogon-Test]# ls -l
gesamt 0
-rw-r--r--. 1 root root 0 Jul 3 00:40 a.txt
[root@bogon test]# mkdir b
[root@bogon-Test]# ls -l
gesamt 0
-rw-r--r--. 1 root root 0 Jul 3 00:40 a.txt
drwxr-xr-x. 2 root root 6 Jul 3 00:41 b

Wie oben zu sehen ist, beträgt die Umask von Root 022 (die erste 0 stellt das spezielle Berechtigungsbit dar, das hier nicht berücksichtigt wird), die Standardberechtigungen der erstellten Dateien betragen 644 und die Standardberechtigungen der erstellten Verzeichnisse betragen 755.

3 Erläuterung der grundlegenden Berechtigungen

Bevor wir die Verwendung von umask erklären, müssen wir die grundlegenden Berechtigungen der Datei erläutern.

Linux-Dateiberechtigungen

R m X
dokumentieren Sie können den Dateiinhalt anzeigen Kann Dateien ändern Sie können die Datei als laufendes Programm starten
Inhaltsverzeichnis Sie können ls verwenden, um die Dateinamen im Verzeichnis anzuzeigen. Sie können Dateien im Verzeichnis erstellen oder löschen (Sie können keine Dateien erstellen, wenn Sie nur die Berechtigung „w“ haben. Sie benötigen die Zusammenarbeit von „x“). Sie können cd verwenden, um in dieses Verzeichnis zu gelangen. ls -l zeigt die Metadateninformationen der Dateien im Verzeichnis an.

4 Umask-Berechnungsberechtigungen

Für Dateien und Verzeichnisse beträgt die maximale Berechtigung eigentlich 777. Die Ausführungsberechtigung ist für Dateien jedoch sehr beängstigend, während sie für Verzeichnisse eine grundlegende Berechtigung darstellt. Daher beträgt die standardmäßige maximale Berechtigung für ein Verzeichnis 777 und die standardmäßige maximale Berechtigung für eine Datei 666.

Für die umask=022 des Root-Benutzers ist der Binärcode für die Berechtigung 777 (111)(111)(111) und der Binärcode für die Berechtigung 022 ist (000)(010)(010).

  • Alle Berechtigungen binär 1: repräsentiert diese Berechtigung
  • umask binary 1: bedeutet, diese Berechtigung zu entfernen. Unabhängig davon, ob Sie die Berechtigung ursprünglich haben oder nicht, werden Sie diese Berechtigung irgendwann nicht mehr haben.
  • Der Binärwert von umask ist 0: Das bedeutet, dass mir die Berechtigungen des entsprechenden Bits egal sind. Wenn Sie Berechtigungen haben, haben Sie Berechtigungen. Wenn Sie keine Berechtigungen haben, haben Sie keine Berechtigungen. Ich werde Sie nicht beeinflussen.

So berechnen Sie die Standardberechtigungen für Dateien mit umask 002

Eigentümer Eigentümer Besitzer x Gruppe Gruppe Gruppe x Andere Andere Anderex
Alle Berechtigungen 777 1 1 1 1 1 1 1 1 1
Umask-Maske 002 0 0 0 0 1 0 0 1 0
Berechneter Wert 1 1 1 1 0 1 1 0 1

So berechnen Sie die Standardberechtigungen eines Verzeichnisses mit umask 002

Eigentümer Eigentümer Besitzer x Gruppe Gruppe Gruppe x Andere Andere Anderex
Alle Berechtigungen 666 1 1 0 1 1 0 1 1 0
Umask-Maske 002 0 0 0 0 1 0 0 1 0
Berechneter Wert 1 1 0 1 0 0 1 0 0

So berechnen Sie die Standardberechtigungen für Verzeichnisse mit umask 023

Eigentümer Eigentümer Besitzer x Gruppe Gruppe Gruppe x Andere Andere Anderex
Alle Berechtigungen 777 1 1 1 1 1 1 1 1 1
Umask-Maske 023 0 0 0 0 1 0 0 1 1
Berechneter Wert 1 1 1 1 0 1 1 0 0

So berechnen Sie die Standardberechtigungen von Dateien mit umask 023

Eigentümer Eigentümer Besitzer x Gruppe Gruppe Gruppe x Andere Andere Anderex
Alle Berechtigungen 666 1 1 0 1 1 0 1 1 0
Umask-Maske 023 0 0 0 0 1 0 0 1 1
Berechneter Wert 1 1 0 1 0 0 1 0 0

Das Obige ist der normale Berechnungsprozess von umask, aber er ist zu mühsam. Zur schnellen Berechnung verwenden wir die folgende einfache Methode.

  1. Verwenden Sie für Verzeichnisse einfach 777-umask, um das Endergebnis zu erhalten.
  2. Verwenden Sie für Dateien zuerst 666-umask.
    1. Wenn die entsprechende Position eine gerade Zahl ist, gilt als endgültige Autorität dieser gerade Wert.
    2. Wenn die entsprechende Zahl oben eine ungerade Zahl ist, dann ist die entsprechende Position +1.

Die obige Methode ist für die Berechnung sehr praktisch. Warum müssen wir +1 hinzufügen, wenn wir eine ungerade Zahl erhalten?

Die maximale Berechtigung für eine Datei beträgt 666, wobei es sich um gerade Zahlen handelt. Wenn Sie eine ungerade Zahl erhalten, bedeutet dies, dass Ihre Umask eine ungerade Zahl hat. Die Lesezahl beträgt 4 und die Schreibzahl 2, wobei es sich um gerade Zahlen handelt, was bedeutet, dass Sie über Ausführungsberechtigung verfügen.

Nehmen wir umask = 023 als Beispiel. Bei der Berechnung anderer Benutzerberechtigungen ist 6-3 = 3, 6 steht für Lesen und Schreiben, 3 steht für Schreiben und Ausführen. Tatsächlich sollte die Schreibberechtigung durch Subtrahieren der Leseberechtigung von der Leseberechtigung erhalten werden, was dem Subtrahieren einer Ausführungsberechtigung entspricht. Das Ergebnis wird also um 1 erhöht.

5 Änderung von umask

Es gibt zwei Arten von Umask-Änderungen: temporär und permanent.

Temporäre Änderung:

[root@bogon test]# umask 023
[root@bogon test]# umask
0023
[root@bogon-Test]

Dauerhafte Änderung:

Sie können die folgende Datei bearbeiten, um umask=022 hinzuzufügen.

Die interaktive Anmeldekonfiguration wird wirksam:

/etc/profile < /etc/profile.d/*.sh < ~/.bash_profile < ~/.bashrc </etc/bashrc [Die Konfiguration von /etc/bashrc ist am effektivsten und kann die vorherige Konfiguration überschreiben]

Die nicht-interaktive Anmeldekonfiguration wird wirksam:

~/.bashrc < /etc/bashrc < /etc/profile.d/*.sh

6 Häufig verwendete Umask

[root@bogon test]# umask 002
[root@bogon test]# umask
0002
[root@bogon test]# umask 022
[root@bogon test]# umask
0022

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:
  • Detailliertes Verständnis von umask in den neuen Linux-Dateiberechtigungseinstellungen
  • Detaillierte Erläuterung des Verwendungsprinzips und der Berechnungsmethode des Befehls umask unter Linux

<<:  MySQL-Einfügungsproblem bei JSON

>>:  Mehrere Möglichkeiten zum Wechseln zwischen Vue Tab und Cache-Seiten

Artikel empfehlen

Eine kurze Analyse des MySQL-Index

Ein Datenbankindex ist eine Datenstruktur, deren ...

Ist das Tag „li“ ein Blockelement?

Warum kann es die Höhe festlegen, aber im Gegensat...

Beispiel für das Einfügen eines HTML-Bilds (html add image)

Zum Einfügen von Bildern in HTML sind HTML-Tags f...

Über React Native, das keine Verbindung zum Simulator herstellen kann

React Native kann native iOS- und Android-Apps ba...

Zwei Abfragemethoden, wenn der MySQL-Abfragefeldtyp JSON ist

Die Tabellenstruktur ist wie folgt: Ich würde var...

Detaillierte Schritte zur Installation von Nginx unter Linux

1. Nginx-Installationsschritte 1.1 Offizielle Web...

Einführung in berechnete Eigenschaften in Vue

Inhaltsverzeichnis 1. Was ist eine berechnete Eig...

Lösung für Win10 ohne Hyper-V

Suchen Sie immer noch nach einer Möglichkeit, Hyp...

Hinweise zum erweiterten Zeichengerätetreiber des Linux-Kernel-Gerätetreibers

/****************** * Erweiterter Zeichengerätetr...

MySQL-Einfügungsproblem bei JSON

MySQL 5.7.8 und höher unterstützt nun einen nativ...

So konfigurieren Sie die Basic Auth-Anmeldeauthentifizierung in Nginx

Manchmal erstellen wir einen Dateiserver über ngi...