The most important settings is possible to set in the global shell initialization files for login shells: /etc/csh.login for tcsh and /etc/profile for bash.
Exceptions that do not get the right path from these files are rsh commands, ssh commands, menu items from X window manager that do not explicitly start login shell, commands invoked from inittab, cron jobs, daemons jobs like magic filters started from lprd, WWW CGI scripts, and so on.
If the path is set in /etc/csh.cshrc, the path is right even when rsh or ssh execute command in remote machine with account using tcsh/csh. However, it is not possible to set path if account uses bash/sh.
It is possible to combine path setting to one file, for example to a file /etc/environment-common. There we write:
${EXPORT}PATH${EQ}/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/usr/games:.
This can be used from /etc/csh.login (for tcsh and csh)
set EQ=" " set EXPORT="setenv " source /etc/environment-common
And from /etc/profile (for bash, doesn't work for ordinary sh)
EQ='=' EXPORT="export " . /etc/environment-common
And from /etc/environment (for XDM)
EQ="=" EXPORT="export " . /etc/environment-common
This strategy works mostly but ssh will complain of the lines in /etc/environment (and defined environment variables EQ and EXPORT). And still, rsh commands executed with bash won't get this path.