Detaillierte Erläuterung des Verwendungsprinzips und der Berechnungsmethode des Befehls umask unter Linux

Detaillierte Erläuterung des Verwendungsprinzips und der Berechnungsmethode des Befehls umask unter Linux

umask Umask-Nutzung

umask legt die Standardberechtigungen für neu erstellte Dateien und Verzeichnisse fest.

Sie können sehen, dass das von root erstellte Verzeichnis 755 und die Datei 644 ist

[root@zaishu zaishu]# touch test.txt
[root@zaishu zaishu]# mkdir test

[root@zaishu zaishu]# ls -l
gesamt 0
drwxr-xr-x 2 root root 6 25. November 16:29 Test  
-rw-r--r-- 1 root root 0 25. Nov. 16:28 test.txt

Normaler Benutzer

Sie können sehen, dass die von normalen Benutzern erstellten Verzeichnisse 775 und die Dateien 664 sind

[mysql@zaishu ~]$ touch test.txt
[mysql@zaishu ~]$ mkdir test
[mysql@zaishu ~]$ ls -l
gesamt 0
drwxrwxr-x 2 mysql mysql 6 25. November 16:30 Test
-rw-rw-r-- 1 mysql mysql 0 25. November 16:30 test.txt

Diese Standardberechtigungswerte werden mithilfe der Umask-Einstellung berechnet.

Prinzip

Linux verwendet die umask-Standardberechtigungen, um allen neu erstellten Dateien und Verzeichnissen anfängliche Berechtigungen zuzuweisen. Wie kennen wir also den Wert der Umask-Standardberechtigung? Verwenden Sie einfach den Befehl umask:

1. umask-Wert

[root@zaishu ~]# umask
0022

[mysql@zaishu ~]$ umask
0002

#Der Standardwert für den Root-Benutzer ist 0022 und der Standardwert für den normalen Benutzer ist 0002

Die Standardberechtigungen von umask bestehen tatsächlich aus 4 Oktalzahlen. Die erste Zahl stellt die speziellen Berechtigungen der Datei dar (SetUID, SetGID, Sticky BIT), die zuerst ignoriert werden. Die letzten drei Ziffern „022“ entsprechen ----w–w-.

2. Maximale Dateiverzeichnisberechtigungen

In Linux-Systemen sind die maximalen Standardberechtigungen für Dateien und Verzeichnisse unterschiedlich:

Für Dateien beträgt die maximale Standardberechtigung 666, also rw-rw-rw-. x ist die maximale Dateiberechtigung. Sie wird beim Erstellen einer neuen Datei nicht vergeben und kann nur manuell vom Benutzer gewährt werden.

Für Verzeichnisse beträgt die maximale Standardberechtigung 777, also rwxrwxrwx.

3. Konventionelle Berechnungen

Die anfänglichen Berechtigungen für Dateien und Verzeichnisse werden wie folgt berechnet:

Die anfänglichen Berechtigungen einer Datei (oder eines Verzeichnisses) = die maximalen Standardberechtigungen der Datei (oder des Verzeichnisses) - Umask-Berechtigungen

[mysql@zaishu ~]$ umask
0002
[mysql@zaishu ~]$ mkdir test
[mysql@zaishu ~]$ ll -d test
drwxrwxr-x 2 mysql mysql 6 Nov 26 10:50 test // Die Standardberechtigung des Verzeichnisses kann bis zu 777 betragen, 777-002 = 775

[mysql@zaishu ~]$ touch h.txt
[mysql@zaishu ~]$ ll h.txt 
-rw-rw-r-- 1 mysql mysql 0 Nov 26 10:52 h.txt // Maximale Dateiberechtigungen 666, 666-002 (normaler Benutzer) 666-002 = 664
[root@zaishu ~]# h2 berühren
[root@zaishu ~]# ls -l h2 
-rw-r--r-- 1 root root 0 Nov 26 10:53 h2 // Maximale Dateiberechtigungen 666, 666-002 (root) 666-022 = 644

4. Rigorose Berechnung

Beim Berechnen der anfänglichen Berechtigungen für eine Datei oder ein Verzeichnis ist es nicht streng, die maximalen Standardberechtigungen und die numerische Form der Umask-Berechtigungen direkt zur Subtraktion zu verwenden. Wenn beispielsweise der Standardberechtigungswert von umask 033 ist, wird die anfängliche Berechtigung der Datei in numerischer Form berechnet, 666-033=633. Wenn wir jedoch in alphabetischer Form rechnen, erhalten wir (rw-rw-rw-) - (----wx-wx) = (rw-r–r--), was in numerischer Form 644 entspricht.

Die Subtraktion bedeutet hier eigentlich "Maskierung", d. h. der Teil der maximalen Standardberechtigungen, der den Umask-Berechtigungen gemeinsam ist, wird durch die Subtraktionsoperation maskiert, und die verbleibenden "maximalen Standardberechtigungen" sind die anfänglichen Berechtigungen, die der Datei oder dem Verzeichnis schließlich erteilt werden.

Ändern des Umask-Werts

1. Temporäre Wirkung (aktuelle Sitzung)

Der Umask-Berechtigungswert kann direkt geändert werden:

[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
[root@localhost ~]# umask 033
[root@localhost ~]# umask
0033

Die auf diese Weise geänderte Umask ist nur temporär und verliert nach einem Neustart oder einer erneuten Anmeldung des Systems ihre Gültigkeit.

2. Dauerhafte Wirkung

Um die Änderungen dauerhaft zu machen, müssen Sie die entsprechende Umgebungsvariablen-Konfigurationsdatei /etc/profile ändern.

[root@zaishu~]# vim /etc/profile
...einige Teile ausgelassen...
wenn [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; dann
    umask 002
    #Wenn die UID größer als 199 ist (normaler Benutzer), verwenden Sie diesen Umask-Wert, andernfalls
    umask 022
    #Wenn die UID kleiner als 199 ist (Superuser), verwenden Sie diesen Umask-Wert

Zusammenfassen

Dies ist das Ende dieses Artikels über das Verwendungsprinzip und die Berechnungsmethode des Befehls umask unter Linux. Weitere Informationen zur detaillierten Erläuterung des Befehls umask unter Linux finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Verwendung von umask unter Linux
  • Detailliertes Verständnis von umask in den neuen Linux-Dateiberechtigungseinstellungen

<<:  Fügen Sie beim Schreiben von HTML-Links immer Schrägstriche zu Unterordnern hinzu, um HTTP-Anfragen zu reduzieren

>>:  CSS3-Zeitleistenanimation

Artikel empfehlen

MySQL 5.6 Installationsschritte mit Bildern und Text

MySQL ist ein Open-Source-Verwaltungssystem für k...

Vue3.0 Adaptiver Betrieb von Computern mit unterschiedlichen Auflösungen

Zuerst müssen wir einige Abhängigkeiten installie...

Implementieren einer benutzerdefinierten Bildlaufleiste mit nativem JS

In diesem Artikelbeispiel wird der spezifische JS...

So stellen Sie MySQL-Master und -Slave in Docker bereit

Bild herunterladen Auswählen eines MySQL-Images D...

JavaScript-Wissen: Konstruktoren sind auch Funktionen

Inhaltsverzeichnis 1. Definition und Aufruf des K...

So mounten Sie die CD, um das RPM-Paket unter Linux zu finden

Vorne geschrieben Manchmal müssen Sie bei der Ver...

Verwendung von VNode in Vue.js

Was ist VNode In vue.js gibt es eine VNode-Klasse...

Kostenloses Tutorial zur Installationskonfiguration der Version MySQL 5.7.18

MySQL wird in eine Installationsversion und eine ...

Das Installationstutorial zu mysql5.5.28 ist super detailliert!

mysql5.5.28 Installations-Tutorial zu Ihrer Infor...

CSS3-Animation – Erläuterung der Funktion „Steps“

Als ich mir in letzter Zeit einige CSS3-Animation...

Mehrere Möglichkeiten zur Implementierung der Vererbung in JavaScript

Inhaltsverzeichnis Strukturelle Vererbung (implem...

Detaillierte Beispiele zur Ajax-Verwendung in js und jQuery

Inhaltsverzeichnis Natives JS So senden Sie eine ...