Re: Forcing user's umask in GNOME
On Fri, 2004-09-03 at 10:53 +0200, Jérôme Warnier wrote:
> Le ven 03/09/2004 à 02:38, Jérôme Warnier a écrit :
> > Le ven 03/09/2004 à 02:09, Jérôme Warnier a écrit :
> > > Well, I thought that it would only be needed to change UMASK in
> > > /etc/login.defs but it does not work on Sarge/Sid.
> > > The parsing of the file is weak, and will fail if a commented line with
> > > UMASK in it is present before the right one, uncommented.
> > Related to bug #254840.
> >
> > > Anybody knows where to look before I spend a whole week on it?
>
> I've spend some time on it already. Here is what I've done now to try to
> debug the stuff:
> I created a file /etc/X11/Xsession.d/55umask which contains exactly
> this.
> ---cut here---
> # In the script that called this, set -e has been set. Errors in any
> # command will abort the entire script and X won't start. By putting
> # this part in a subshell, any errors will abort the subshell - which
> # we want, in case numlockx fails.
>
> # The 'true' at the end ensures that the entire script will never end
> # with an error code, even if there was an error.
>
> # Ariel Shkedi <asdebian@dsgml.com>
>
> # Most of this script has been borrowed from old /etc/gdm/Sessions/Gnome
> # by me, Jerome Warnier <jwarnier@beeznest.net>
> # Will be extended later to copy completely the old Session script
>
> logindefsfile=/etc/login.defs
>
> (
>
> haveloginoption() {
> optionname=$1
> echo "$0: checking $logindefsfile for option $optionname" >&2
> grep -qs ^$optionname $logindefsfile
> }
>
> loginoptionvalue() {
> optionname=$1
> optionvalue=`awk "\\$1 == \"$optionname\" { print \\$2 }"
> $logindefsfile`
> echo "$0: $logindefsfile: \"$1\" is \"$optionvalue\"" >&2
> echo $optionvalue
> }
>
> # Get defaults from /etc/login.defs
> if haveloginoption UMASK; then
> umask `loginoptionvalue UMASK`
> echo `umask` # This line is for debugging purpose only
> fi
>
> )
>
> true
> ---cut here---
>
> Here is what I get in my .xsession-errors.
> ---cut here---
> /etc/gdm/PreSession/Default: Registering your session with wtmp and utmp
> /etc/gdm/PreSession/Default: running: /usr/bin/X11/sessreg -a -w
> /var/log/wtmp -u /var/run/utmp -x "/var/lib/gdm/:0.Xservers" -h "" -l
> ":0" "jwarnier"
> /etc/gdm/Xsession: Beginning session setup...
> /etc/gdm/Xsession: checking /etc/login.defs for option UMASK
> /etc/gdm/Xsession: /etc/login.defs: "UMASK" is "002"
> 0002
> SESSION_MANAGER=local/aphrodite:/tmp/.ICE-unix/21512
> ---cut here---
>
> Files in Nautilus are still created with umask 022, and a shell in
> gnome-terminal tells me umask is set to 022 also. I honestly don't
> understand what's going on there...
>
> Hope all this helps to debug.
Simple question:
Did you check that Bash is not setting umask for you?
You should check:
~/.bash_profile
~/.bashrc
~/.profile
And other user-related files that Gnome reads when you login (or
whatever other shell you use if you start a terminal automatically when
you login)
Then you will have to check the config files for bash in /etc/
/etc/profile
/etc/bash.bashrc
And possibly others...
Lastly, you will also need to check PAM's configurations, in particular
the files in:
/etc/security/*.conf
Hope that helps...
Reply to: