Upstart - /etc/environment を維持しながら別のユーザーとしてコマンドを実行する

Upstart - /etc/environment を維持しながら別のユーザーとしてコマンドを実行する

こんにちは、

/etc/environment を維持しながら、非特権ユーザーとして Upstart を使用して起動時にコマンド/サービスを実行しようとしています。

私はシェルで幸運に恵まれました

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/foosudo を試みました)。

アドバイスをいただければ大変助かります。私は EC2 上の Amazon Linux を使用しています。

答え1

/etc/environment ファイルを Upstart スクリプトに取り込むだけですか?

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

関連情報