Our users typically set up their environment and umask once,
and let all subprocesses of their session manager inherit those
values. This is foiled by /etc/profile, which unconditionally
sets the umask. Please put this check in the /etc/skel files
The scripts also muck with the environment variables. It would
be good if you used the idiom
to avoid stomping on the environment already set up.
Overriding system default variables (such as umask)
works fine for me here by editing $HOME/.bashrc, etc.
We use a generalized but relatively expensive (~.5sec) method for setting up the
environment, and therefore make sure that the environment is set up only once.
We've done it this way for ten years on other Unixen, so your workaround simply
isn't an option here.
I think this is more a matter of principle, though: System policy like this
should not be put in /etc/profile. Put it in /etc/skel or perhaps
/etc/profile.d/policy*, to make it easier to override.
Put your settings in ~/.bash_profile.
They are set only once ( at login ) and they are inherited by all subprocesses.