Доброго времени суток,
Я пытаюсь запустить команду / службу при запуске с 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.
Просто добавьте файл / etc / environment в свой сценарий выскочки?
if [ -e /etc/environment ]; then
. /etc/environment
fi