Skip to content

umask für Login & None-Login Shell eines Users setzen

In diesen Beispiel setzen wir die umask des Users homer für die Login & None-Login Shell auf den Wert 002.

Zuerst prüfen wir, ob der entsprechende User auch die /bin/bash als Shell nutzt.

root:~# grep homer /etc/passwd
homer:x:1005:1000::/home/homer:/bin/sh

Ist nur /bin/sh als SHELL eingetragen, ändern wir mit dem Befehl vipw die SHELL nach /bin/bash.

root:~# vipw

Nun melden wir uns als der oben genannten User homer an.

root:~# su - homer

Mit folgenden Befehl prüfen wir, ob die SHELL Variable übernommen wurde.

homer:~$ env | grep SHELL
SHELL=/bin/bash

Nun setzen wir die umask für den User homer in der Datei ~/.bashrc. WICHTIG: Damit auch die None-Login Shell die umask übernimmt, müssen wir die umask über der Zeile definieren, in der nach der leeren $PS1 Variable geprüft wird.

homer:~$ vi ~/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

umask 002

# If not running interactively, don't do anything
[ -z "$PS1" ] && return
....

Nun haben wir die umask auf 002 für Login & Non-Login Shell gesetzt.

Ob die korrekte umask auch für die None-Login Shell gesetzt ist, kann man mit folgenden Befehl prüfen:

tux@earth:~$ ssh homer@simsons "touch test.txt && ls -l test.txt"
-rw-rw-r-- 1 homer users 0 2010-10-28 12:47 test.txt