Home   Profil   Fun
#19 Linux  03.06.2007

Rechte von neuen Dateien mit umask kontrollieren


Sobald eine neue Datei oder ein neuer Ordner im Dateisystem erstellt wird erhält es einen bestimmten Satz an Rechten. Welche Rechte das genau sind lässt sich mit umask steuern. Dies geschieht global in der Datei /etc/profile, kann aber auch für einzelne Benutzer separat in $HOME/.bash_profile gesteuert werden.
Ein typisches Beispiel:
umask 022

Es gibt immer nur einen Wert für umask der die Rechte für neue Dateien und neue Ordner zur gleichen Zeit setzt. Sobald der Wert geändert wird ändern sich die Rechte für neue Dateien und neue Ordner.

Jedoch ist das Verhalten für Dateien und Ordner unterschiedlich. Die Nummern 666 und 777 werden zur Berechnung der Rechte verwendet. Um den richtigen Wert für umask zu erhalten subtrahiert man die Rechte die man möchte von diesen Wert:
Wenn man zum Beispiel möchte, dass Dateien mit 644 erstellt werden, dann zieht man 644 von 666 ab und erhält 022. 022 ist dann der Wert den man umask als Parameter mitgeben muss.

Für Ordner ist der Referenzwert 777 um den Wert für die gewünschten Rechte zu berechnen. Sollen beispielsweise neue Ordner mit 755 erstellt werden zieht man 755 von 777 ab und erhält 022 als Wert für umask.

Um nun von einem bestehenden Wert für umask auf die Rechte von neu erstellten Dateien und Ordner zu schließen subtrahiert man diesen ebenfalls vom Referenzwert. Hierzu wiederum ein Beispiel: umask 077. Die Dateirechte die sich daraus ergeben sind 666 - 077 = 600 und die Ordnerrechte 777 - 077 = 700.