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
Другие вопросы по тегам