Ubuntu 10 добавить переменную пути для всех пользователей все время
Где я могу добавить к своему пути, что он будет доступен для всех пользователей, всех оболочек, все время. В этом случае я хочу, чтобы /opt/grails/bin всегда был доступен, даже когда он запускается как пользователь tomcat из jenkins.
Есть 6+ файлов, в которые вы можете вставить это, но я все еще за годы своей работы являлся разработчиком программного обеспечения, который иногда обрабатывает задачи системного администратора Linux, чтобы найти четкое объяснение того, где вы делаете export PATH=$PATH:/opt/grails/bin
и иметь доступ к нему каждому пользователю, каждому типу оболочки, все время fXXXing.
Я на Ubuntu 10.10, если это имеет значение.
Спасибо
1 ответ
Обычно это /etc/profile (читается bash, dash, ksh и его режимами "sh").
Для пользователей системы вы можете объявить отдельные переменные в / etc / environment. Это не очень хорошая практика, но она работает (я использовал ее для JAVA_HOME и т. Д.).
Основная проблема с PATH заключается в том, что она должна отличаться для системных пользователей и системных суперпользователей. Поэтому вместо одной переменной в / etc / environment я бы попытался пропатчить /etc/profile (способ debian / ubuntu - поместить скрипт в /etc/profile.d/).
Одна строка экспорта - это bashism, проверьте первые строки / etc / profile на наличие переносимого синтаксиса (для работы с / bin / sh, dash и т. Д.).
Это решение не должно работать для оболочек csh, tcsh и им подобных, но должно работать для оболочек типа bourne.
В Ubuntu вы можете исследовать PAM, который может кое-что сказать о среде и PATH, но это больше касается входа в систему, чем инициализации оболочки.
Обновление: чтобы использовать PAM (su, sudo и т. Д.), Попробуйте: /etc/login.defs, возможно, единственный файл, который вам нужен.