Ich habe diese Datei in /etc/init/proxyserver.conf abgelegt, die dieses Skript beim Start ausführt (Ubuntu 11.10):
description "Run code for ProxyServer"
start on runlevel [23]
script
cd /home/mark/selenium-client
exec java -jar selenium-server-standalone-2.20.0.jar -role hub -port 1111
end script
Das funktioniert gut, aber wenn ich das im Terminal ausführe:
ps aux | grep selenium
Es gibt diesen Bildschirm zurück:
root 783 0.0 2.3 680584 23688 ? Ssl Apr18 4:45 java -jar selenium-server-standalone-2.20.0.jar -role hub -port 1111
Aber ich möchte das Skript als Nicht-Root-Benutzer ausführen. Wie kann ich das tun?
Vielen Dank!
su
um es als beliebigen Benutzer auszuführen. Sie würden immer noch root brauchen, um das einzurichten, was ich denkeAntworten:
Sie könnten es in laufen crontab mit der Option @reboot
crontab -e zum Öffnen der Benutzer-Crontab.
füge die Zeile hinzu
@reboot /path/to/script
und es sollte Ihr Skript beim Neustart als dieser Benutzer startenEinige weitere Beispiele von cron hier verwenden
quelle
Sie könnten z.B.
Verwenden Sie die Root-Rechte, um den Prozess als angegebenen Benutzer auszuführen.
BEARBEITEN: Oder vielleicht
je nachdem was
upstart
will (ich benutze es nicht selbst).quelle
Verwenden Sie in Upstart die
setuid
Stichwort:(
script
ist unnötig.)Alternativ erstellen Sie eine Benutzerjob anstelle eines Systems ein.
quelle