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