新贵 – 在保存/ etc / environment的同时,以另一个用户的身份运行一个命令

天儿真好,

我试图在启动时使用Upstart作为非特权用户运行命令/服务,同时保留/ etc / environment。

我有一个运气在一个贝壳

exec sudo -u user1 -i "/usr/bin/foo /opt/bar >> /var/log/bar.log 2>&1"

但是,Upstart似乎并不喜欢它(一直无法弄清楚为什么)。 我知道一般的build议是使用su ,我通过手动获取/etc/environment.local这样的文件获得了一些成功,但是却有问题让Upstart监视正确的PID(它继续在bash之后,而不是/usr/bin/foo ,因此sudo的尝试。

任何build议将是一个巨大的帮助。 我在EC2上的Amazon Linux上。

只需将/ etc / environment文件编入您的新贵脚本?

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