Доброе утро. Помогите пожалуйста с вопросом.
Пытаюсь запустить скрипт от имени другого пользователя с его окружающей средой.
echo $SHELL /bin/csh
Окружение берется вот так:
.login
~
if ( -e $HOME/.sapenv_`hostname`.csh ) then
source $HOME/.sapenv_`hostname`.csh
else if ( -e $HOME/.sapenv.csh ) then
source $HOME/.sapenv.csh
endif
~
Собственно я добавил запуск скрипта в sudo и пытаюсь его запускать.
/etc/sudoers
ec3adm ALL=(ecladm) NOPASSWD: /usr/sap/ECL/SYS/exe/dbg/stopsap
ec3adm ALL=(ecladm) NOPASSWD: /usr/bin/env
ec3adm>
sudo -Hi -u ecladm /usr/bin/env
sudo -Hi -u ecladm /usr/sap/ECL/SYS/exe/dbg/stopsap
Этот скрипт использует переменную SAPSYSTEMNAME записанную в ~/.sapenv.csh и подгружающуюся только если зашел пользователем ecladm и загрузилось его окружение. пример:
cat .sapenv.csh | grep "setenv SAPSYSTEMNAME"
setenv SAPSYSTEMNAME ECL
в общем думал поможет опция -i или -s, но они запрашивает пароль, а мне ни в коем случае нельзя выдавать пароль. Хочу использовать именно окружение ecladm чтобы не было скрытых ошибок. Что я делаю не так?