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

相關內容