UMASK in Linux- und Unix-Systemen ist eigentlich als Benutzermaske bekannt oder wird auch als Benutzerdateierstellungsmaske bezeichnet. Dies ist eine Art Basisberechtigung oder Standardberechtigung, die erteilt wird, wenn eine neue Datei oder ein neuer Ordner in der Linux-Box erstellt wird.
Die meisten Linux-Distributionen geben 022
an als Standard UMASK. Wir können sagen, dass es sich um Standardberechtigungen für die Datei und Ordner durch das System handelt. Wenn wir eine Datei oder ein Verzeichnis in Linux erstellen, werden sie durch die umask-Einstellung geregelt.
Falls ein Systemadministrator die Standard-Umask nicht festlegt, ist sie 0000
. Das bedeutet, dass die neu erstellten Dateien Lese- und Schreibberechtigungen für jeden Benutzer haben und neue Verzeichnisse Lese-, Schreib- und Ausführungsberechtigungen haben werden.
Wie können wir UMASK unter Linux berechnen?
Eine Sache ist, dass der umask-Wert im Allgemeinen für Dateien und Ordner gleich ist, aber die Berechnung dieser Werte basierend auf den Berechtigungen für Dateien und Verzeichnisse ist unterschiedlich.
Minimaler UMASK-Wert für Verzeichnis:000
und Maximum:777
Minimaler UMASK-Wert für Datei:000
und Maximum:666
Hier der Grund für das Beibehalten des Maximalwerts 666
für Dateien liegt daran, dass Skriptdateien und Binärdateien in Linux nur Ausführungsberechtigungen haben sollten. Normale Dateien unter Linux sollten nur Lese- und Schreibrechte haben. Normalerweise wird umask durch einen bitweisen UND-Operator berechnet. Einige der gebräuchlichen Oktalnotationen sind:
0 -- Read, Write and Execute
1 – Read and Write
2 – Read and Execute
3 – Read Only
4 –Write and Execute
5 –Write Only
6 –Execute Only
7 –No Permissions
Jetzt können wir einfach die oben erwähnte Tabelle verwenden, um die Berechtigung für Dateien zu berechnen. Wenn beispielsweise eine umask auf 077 gesetzt ist, bedeutet dies, dass die Berechtigung im Allgemeinen wie folgt berechnet wird:
0 – Owner – Read, Write and Execute
7 – Group – No Permissions
7 – Others – No Permissions
Um die obige Umask einzustellen, sollten Sie den Befehl
eingeben$ umask 077
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
Output:
drwx------ 2 demo demo 4096 2013-07-04 01:34 folder1
-rw------- 2 demo demo 0 2013-07-04 01:34 testfile
Aktuellen umask-Wert anzeigen
Wenn Sie den umask-Befehl ohne Argumente ausführen, wird der aktuelle Maskenwert angezeigt.
$ umask
0022
Wie können wir umask mit symbolischen Werten setzen?
Unten erwähnt sind die symbolischen Werte, die wir verwenden können:
r
:lesen, w
:schreiben, x
:ausführen, u
:Benutzerbesitz, g
:Gruppenbesitz und o
:anderes Eigentum
Zum Beispiel:
$ umask u=rwx, g=, o=
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
Was sind die Einschränkungen von umask?
1. Der Befehl umask kann verwendet werden, um Berechtigungen einzuschränken.
2. Wir können keine zusätzlichen Berechtigungen erteilen, die über die normalerweise von Programmen zum Erstellen von Dateien und Ordnern angegebenen hinausgehen. Wenn Sie Änderungen vornehmen möchten, sollten Sie stattdessen den Befehl chmod verwenden.
3. Viele Betriebssysteme verfügen nicht über eine Datei, die mit Ausführungsberechtigung erstellt werden sollte. In solchen Umgebungen werden die Ausführungsberechtigungen für die neuen Dateien immer deaktiviert.
4. Die Maske wird nur auf die Funktionen angewendet, die eine neue Datei erstellen.
Schlussfolgerung
In diesem Tutorial haben wir gelernt, was umask unter Linux ist, und den Befehl zum Festlegen eines neuen umask-Werts. Ich hoffe, Sie hatten viel Spaß beim Lesen und weitere Informationen finden Sie auf den Manpages von umask.