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