Некоторые стратегии, позволяющие получить одинаковые пути для всех пользователей
Наиболее важные установки находятся в глобальных файлах
инициализации: /etc/csh.login для tcsh и /etc/profile для bash.
Исключения - программы, которые не могут получить правильные пути от этих
файлов - это команды ssh, rsh, X window manager (явно не запускает login
shell), ,команды вызываемые inittab, задачи запускаемые cron, демоны,
подобные magic filters запускаемые lprd, WWW CGI скрипты и т.д.
Если пути установлены в /etc/csh.cshrc, то они правильные, даже когда rsh
или ssh выполняют команду на удаленной машине с аккаунтом, использующим
tcsh/csh. Однако, не возможно установить пути, если аккаунт использует
bash/sh.
Возможно комбинировать установку путей в один файл, например, в файл
/etc/environment-common. Теперь пишем:
${EXPORT}PATH${EQ}/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/usr/games:. |
Это можно использовать из /etc/csh.login (для tcsh и csh)
set EQ=" " set EXPORT="setenv " source /etc/environment-common |
И из /etc/profile (для bash, не работает для обычного sh)
EQ='=' EXPORT="export " . /etc/environment-common |
И из /etc/environment (для XDM)
EQ="=" EXPORT="export " . /etc/environment-common |
Такая стратегия, главным образом, работает, но ssh будет выдавать сообщения
об ошибках в /etc/environment (на определения EQ и EXPORT). И еще,
rsh-команды, выполняемые в bash, не будут получать этот путь.