Upstart - запустить команду от имени другого пользователя, сохранив /etc/environment
G'day,
Я пытаюсь запустить команду / службу при запуске с Upstart как непривилегированный пользователь, сохраняя /etc/environment.
Мне повезло в скорлупе с
exec sudo -u user1 -i "/usr/bin/foo /opt/bar >> /var/log/bar.log 2>&1"
Тем не менее, Upstart, похоже, не нравится (не смог понять, почему). Я знаю, что общий совет заключается в использовании su
и у меня был некоторый успех с этим, вручную выбрав файл, такой как /etc/environment.local, но у меня были проблемы с получением Upstart для мониторинга правильного PID (он продолжал работать после bash вместо /usr/bin/foo
Таким образом, попытка sudo.
Любой совет будет огромной помощью. Я на Amazon Linux на EC2.
1 ответ
Просто поставьте файл /etc/environment в свой скрипт выскочки?
if [ -e /etc/environment ]; then
. /etc/environment
fi