Что лучшее место должно установить переменные среды в масштабе всей системы на Linux?

Отличный способ смонтировать удаленную папку локально через 'sshfs'

это работает по стандартному порту SSH (22). Быстрая, зашифрованная, безболезненная альтернатива NFS

sshfs user@example.org:/var/www/htdocs www-пример

Если Вы требуете доступа к папке лица, не использующего своего права:

1) Можно позволить корневой вход в систему через/etc/ssh/sshd_config (Не очень безопасный)

2) изменение полномочий на удаленной папке для предоставления доступа через обычного пользователя

3) Установка ключей.

http://fuse.sourceforge.net/sshfs.html

26
задан 15 May 2012 в 21:02
8 ответов

Поскольку никто не добавил полного ответа, вот что я в настоящее время считаю лучшим, по крайней мере для ubuntu, но я готов адаптировать ответ для других платформ * nix.

# **create**: /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/default-java

Другие варианты, которые были уже рассмотрено, но исключено:

  • / etc / environment работает, но его сложнее поддерживать, так как другие инструменты или люди могут его редактировать.
  • / etc / profile - то же, что и выше
26
ответ дан 28 November 2019 в 20:07

В Debian / Ubuntu это будет / etc / environment

Я не знаю эквивалента Red Hat.

11
ответ дан 28 November 2019 в 20:07

Я не понимаю, почему вы правили из / etc / profile. Это правильное местоположение.

11
ответ дан 28 November 2019 в 20:07

В этом случае нельзя использовать какие-либо определенные файлы. так что ....

/ etc / profile было бы подходящим местом для этого в этом случае. Текущие зарегистрированные пользователи должны получить новый сеанс входа в систему, но это не должно быть большой проблемой.

@ wk01: / etc / profile по умолчанию не загружается оболочкой без входа. ваш .bashrc вероятно загружает его ...

0
ответ дан 28 November 2019 в 20:07

/ etc / profile должен работать. Я только что протестировал, чтобы быть уверенным, поместил export SOMETEST = 1234 в / etc / profile и после повторной регистрации echo $ SOMETEST дал мне 1234 , как и ожидалось. Также из gnome-terminal

1
ответ дан 28 November 2019 в 20:07

Одно замечание: взгляните на Среду модулей . Я использую это каждый раз, когда мне нужно предложить сложную, управляемую версиями, саморасширяемую и лаконичную среду UNIX десяткам или сотням пользователей. Он в основном используется в крупномасштабных многопользовательских средах HPC. Простое использование его для одной конкретной переменной, безусловно, является чрезмерной инженерией, но это отличная работа, когда вам нужно больше, чем несколько программных пакетов и их среды.

2
ответ дан 28 November 2019 в 20:07

/etc/enviroment is no used in the last debian stable release. The recomendation is create your own *.sh file in /etc/profile.d/ for this porpuose as Sorin S saids. See https://wiki.debian.org/EnvironmentVariables

1
ответ дан 28 November 2019 в 20:07

Некоторые ответили, что / etc / environment не используются и / или больше не используются в Debian, и это (как в версии 7) неверно.

Файл фактически читается PAM - в частности, pam_env (8) , через флаг envfile по умолчанию. На странице руководства это значение по умолчанию также указано в разделе ФАЙЛЫ.

Цитированные вики-страницы (особенно локаль) просто заявляют, что переменные среды на основе локали теперь должны находиться в / etc / profile . Их утверждение «(в более старых версиях Debian, также / etc / environment)» расплывчато и относится к контексту локалей.

Быстрый поиск по /etc/pam.d показывает: 1276] Эти строки конфигурации являются аддитивными, и поскольку первая отсутствует envfile ,

9
ответ дан 28 November 2019 в 20:07

Теги

Похожие вопросы