Upstart - 以另一个用户身份运行命令,同时保留 /etc/environment

Upstart - 以另一个用户身份运行命令,同时保留 /etc/environment

你好,

我尝试以非特权用户身份在启动时使用 Upstart 运行命令/服务,同时保留 /etc/environment。

我在 shell 中遇到了一些好运

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。

任何建议都会有很大帮助。我在 EC2 上使用 Amazon Linux。

答案1

只需将 /etc/environment 文件放入你的 upstart 脚本中?

if [ -e /etc/environment ]; then
    . /etc/environment
fi

相关内容