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

So verwenden Sie den CocosCreator-Objektpool

Inhaltsverzeichnis Vorwort: Spezifische Operation...

MySQL-Datenbank-Indexreihenfolge durch Sortierung – detaillierte Erklärung

Inhaltsverzeichnis Die Ursache des Vorfalls Sorti...

Verwenden Sie reines CSS, um einen Switch-Effekt zu erzielen

Zuerst ist die Idee Um diesen Effekt zu erzielen,...

HTML-Tabellen-Tag-Tutorial (7): Hintergrundfarbattribut BGCOLOR

Die Hintergrundfarbe der Tabelle kann über das At...

Nginx-Server fügt benutzerdefinierte Systemd-Dienstprozessanalyse hinzu

1. Nehmen Sie nginx als Beispiel Nginx mit dem Be...

Vue3.0 implementiert die Fallstudie zum Lupeneffekt

Der zu erzielende Effekt ist: Festes Vergrößern a...

Detaillierte Erläuterung der gleichzeitigen Parameteranpassung von MySQL

Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...

Schritte zum Bereitstellen eines Docker-Projekts in IDEA

Mittlerweile werden die meisten Projekte auf Dock...

Einführung in den strikten Modus von JavaScript verwenden Sie strikt

Inhaltsverzeichnis 1. Übersicht 1.1 Was ist der s...

So bewerben Sie sich für Webdesign-Jobs

<br />Hallo zusammen! Es ist mir eine Ehre, ...