你好,
我試圖在啟動時以非特權使用者身分使用 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