Это моя /etc /environment:

HELLO="hello"

Теперь я проверяю, что среда устанавливается при подключении через ssh:

ssh foobar@my_host env

И это вывод:

SHELL=/bin/bash
SSH_CLIENT=foobar 46460 56723
USER=foobar
MAIL=/var/mail/foobar
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD=/home/foobar
LANG=en_US.UTF-8
SHLVL=1
HOME=/home/foobar
LOGNAME=foobar
SSH_CONNECTION=foobar 46460 foobar 56723
_=/usr/bin/env

Итак: почему HELLO не устанавливается? Анализируется ли /etc /environment в Ubuntu? Каков рекомендуемый способ установки общесистемных переменных среды в Ubuntu?

И в качестве бонуса было бы замечательно, если бы эти общесистемные переменные среды работали при выполнении:

  • ssh (неинтерактивные команды)
  • ssh (интерактивные команды)
  • рабочие места cron
  • интерактивные оболочки входа
  • и что "нет

Я имею в виду, когда я думаю о системных переменных среды, я действительно имею это в виду!

Мне не нужны разные методы для каждого возможного способа, которым я должен войти в свою машину: мне просто нужен один метод, который работает для всех пользователей, всех команд, всех механизмов входа в систему: то, что можно было бы просто назвать «общесистемной настройкой» ».

Извините за ироничный режим, но я только что потерял (снова) некоторое время с этой проблемой.

1 ответ1

0

Убедитесь, что pam_env.so добавлен в качестве модуля сеанса в /etc/pam.d/common-session . Смотрите также руководство по pam_env . Также убедитесь, что SSH использует PAM (UsePAM=yes в /etc/ssh/sshd_config).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .