LINUX.ORG.RU
ФорумAdmin

проброс рабочей среды через ssh


0

1

Есть много серверов и несколько админов. На сервера админы по своим админским делам естественно заходят под рутом. У них всех разные предпочтения (шел, альясы и прочие PS1) Сейчас это все реализовано через такой костыль в bashrc:

if [[ "${SSH_CLIENT:0:10}" == "$ADMIN_1_IP" ]]
then
    source .admin_1_rc
fi
Но привязка к IP мне не нравится, как-то не универсально это. Есть ли другое решение?

★★

Ну только если грамотно настроить sudo.

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

Нет sudo не вариант. Очень часто его писать прийдется. Коллектив не поймет такие инициативы.

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

а зачем его часто писать? (опционально)в профайл каждому пользователю прописать sudo rootlogin.sh

а в rootlogin уже в зависимости от юзера настраивать енвайронмент и запускать нужный шелл

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

тащемта, для баша будет что-то вроде

bash --rcfile /home/$USER/.bashrc-root

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

По exit будет вываливаться в сессию из которой был запущен скрипт rootlogin.sh вместо того чтобы закрыть соединение.

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

собственно, сейчас создал тестового юзера, в .profile ему запихнул

sudo bash;exit

и все работает как надо. Осталось сделать беспарольный судо на шеллы для группы админов

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

Ага. Это уже рабочий вариант не привязанный к IP. Единственный минус надо будет пользователей заводить на всех серваках.

Yur4eg ★★
() автор топика

да сколько же тут велосепедистов собралось.

во первых: предпочитаемый шел выбирается при старте ssh:

ssh ... ipython
из списка /etc/shells

во вторых:

       ~/.bash_profile
              The personal initialization file, executed for login shells
       ~/.bashrc
              The individual per-interactive-shell startup file
       ~/.bash_logout
              The individual login shell cleanup file, executed when a login shell exits

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

а, сорри, диагонально вник в суть вопроса.

но всеравно, сомнения раздача рута(!) нескольким людям. root должен быть только один.

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

Удобной альтернативы, в ситуации, когда несколько администраторов управляют сервером, кроме раздачи рута я не знаю.

Yur4eg ★★
() автор топика

На сервере в sshd_config дописать

PermitUserEnvironment yes

У клиента вписать свои переменные

~/.ssh/environment

ROOTUSER=vasea

При логине рутом на сервер у каждого будет выставлена своя переменная ROOTUSER, а по ней определять персональные настройки.

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

Нет это не работает, если мой логин на локальной машине не совпадает с логином под которым я подключаюсь к серверу. Пробросит переменные из ~/.ssh/environment

%whoami
yura
%ssh mysrv
а в этом случае - нет!
%whoami
yura
%ssh root@mysrv
Плюс к тому PermitUserEnvironment дыра в безопасности о чем написано в мане sshd_config. У нас есть доступ на некоторые сервера клиентам.

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

> а если создать несколько новых пользователей и добавить их в группу root? У группы root права только на чтение.

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