Tag auch,
Ich versuche, beim Start mit Upstart als nicht privilegierter Benutzer einen Befehl/Dienst auszuführen und dabei /etc/environment beizubehalten.
Ich hatte etwas Glück in einer Muschel mit
exec sudo -u user1 -i "/usr/bin/foo /opt/bar >> /var/log/bar.log 2>&1"
Upstart scheint das jedoch nicht zu mögen (ich konnte nicht herausfinden, warum). Ich weiß, dass allgemein empfohlen wird, zu verwenden, su
und ich hatte damit einige Erfolge, indem ich manuell eine Datei wie /etc/environment.local als Quelle verwendete, hatte aber Probleme, Upstart dazu zu bringen, die richtige PID zu überwachen (es lief nach bash immer weiter, statt nach /usr/bin/foo
, daher der Versuch mit sudo.
Jeder Ratschlag wäre eine große Hilfe. Ich verwende Amazon Linux auf EC2.
Antwort1
Integrieren Sie einfach die Datei /etc/environment in Ihr Upstart-Skript?
if [ -e /etc/environment ]; then
. /etc/environment
fi