LINUX.ORG.RU
решено ФорумAdmin

Ubuntu: Откуда считывается environment в ssh при подключении?


0

1

Собрал openssh из исходников. Заметил, что при подключении переменные окружения не такие, как если подключится к ssh из репозитория. Если сделать sudo -u user bash, то появляется всё нужное окружение. Кто знает, как ето реализовано в Ubuntu? Дело в том, что в системе с установленным openssh из репов файлов ~/.bashrc, ~/.profile, ~/.ssh/environment, ~/.ssh/rc и прочих, описанных в man я просто не нашёл. Мне по сути в моём самосборном sshd необходимо переопределять PATH, LC_* для каждого подключаемого пользователя автоматически.

Мне по сути в моём самосборном sshd необходимо переопределять PATH, LC_* для каждого подключаемого пользователя автоматически.

Это же обычно делается через /etc/profile и не забота sshd, а пользовательского shella?

А так, ну посмотрите через strace какие файлы открывает ваш sshd и тот, который из репозитория, найдите отличия.

mky ★★★★★
()

man sshd:

LOGIN PROCESS
When a user successfully logs in, sshd does the following:

1. If the login is on a tty, and no command has been specified, prints last login time and /etc/motd (unless
prevented in the configuration file or by ~/.hushlogin; see the FILES section).

2. If the login is on a tty, records login time.

3. Checks /etc/nologin; if it exists, prints contents and quits (unless root).

4. Changes to run with normal user privileges.

5. Sets up basic environment.

6. Reads the file ~/.ssh/environment, if it exists, and users are allowed to change their environment. See
the PermitUserEnvironment option in sshd_config(5).

7. Changes to user's home directory.

8. If ~/.ssh/rc exists, runs it; else if /etc/ssh/sshrc exists, runs it; otherwise runs xauth. The “rc” files
are given the X11 authentication protocol and cookie in standard input. See SSHRC, below.

9. Runs user's shell or command.

Запускаемый шелл наследует от SSH некоторые переменные($SSH_CLIENT), но после этого он считывает свои переменные из стандартных файлов(/etc/profile, ~/.profile и т. д.), в которых можно задать индивидуальные настройки.

Ещё можно посмотреть на pam_env.

selivan ★★★
()
Ответ на: комментарий от selivan

О, точняк! Дело точно в PAM оказалось. Я его не подключал. Проверил на машине, де стоит ssh из коробки и отключил PAM - environment оказался таким же, как и в собранном руками. По факту можно было только последнюю строку написать. Я ж писал, что man читал и в нём дельного ничего не оказалось. Спасибо!

abr_linux
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.