9.4 umask
Das Kommando umask wird verwendet, um die Benutzerrechte (Lesen (r), Schreiben (w) und Ausführen (x)) für den Benutzer (der ersten drei rwx), die Gruppe (die nächsten drei rwx) und allen anderen (die letzten drei rwx) einzuschränken, denn standardmäßig würden Dateien mit den Rechten rw–rw–rw (oktal 666) und Verzeichnisse mit rwxrwxrwx (oktal 0777) erstellt.
umask MASKE
Mit dem Kommando umask schränken Sie diese Rechte ein, indem vom Standardwert ein entsprechender umask-Wert abgezogen (subtrahiert) wird. Hierbei gilt es zu beachten, dass keine Ziffer in umask den Wert 7 überschreitet. Ist etwa eine umask von 26 gesetzt, so würde sich dies beim Erzeugen einer Datei wie folgt auswirken:
Datei : 666
umask : 026
---------------
Rechte : 640
Die Datei würde hier praktisch mit den Rechten 640 (rw–r–––––) erzeugt. Bitte beachten Sie außerdem, dass immer nur der Wert des zugehörigen oktalen Satzes subtrahiert wird. Eine umask von 27 hat also nicht den Effekt, dass der Rest von 6 minus 7 von den Rechten für alle anderen in die Gruppe übertragen wird. Bei einer umask von 27 wären die Rechte, mit der die Datei angelegt wird, dieselben wie mit 26.
Standardmäßig ist umask auf 0022 bei vielen Distributionen eingestellt. Mittlerweile gibt es aber schon Distributionen, die den Benutzer bei der Installation nach einem umask-Wert fragen. Selbstverständlich kann der Wert auch zur Laufzeit auf Benutzerebene verändert werden:
you@host > umask
0022
you@host > touch afil1
you@host > ls -l afil1
-rw-r--r-- 1 tot users 0 2005–03–31 07:51 afil1
you@host > umask 0177
you@host > umask
0177
you@host > touch afil2
you@host > ls -l afil2
-rw------- 1 tot users 0 2005–03–31 07:52 afil2
Hinweis Wenn Sie beim Anlegen eines Verzeichnisses zuvor die umask verändert haben, setzen Sie beim Verzeichnis die Ausführrechte (x), da Sie sonst nicht mehr auf das Verzeichnis zugreifen können.
|
Die Veränderung der umask gilt allerdings nur für die Sitzung der laufenden Shell (oder auch des laufenden Pseudo-Terminals). Wollen Sie die Maske dauerhaft verändern, müssen Sie die entsprechende Profil- bzw. Startprozedurdatei verändern. Finden Sie nirgendwo anders einen Eintrag, gilt der Eintrag in /etc/profile (bei FreeBSD /etc/login.conf):
you@host > grep umask /etc/profile
umask 022
Ansonsten hängt es davon ab, ob Sie eine echte Login-Shell verwenden (.profile) oder eben ein »xterm« mit der Bash (bspw. .bashrc) bzw. mit der Korn-Shell (.kshrc).
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.
|