Estoy usando la última versión de arranque para ubuntu 10.4 LTS. upstart se inicia con --debug kernel flag.
Estoy haciendo una configuración de trabajo personalizada para nzbget daemon. Básicamente, este trabajo tiene una secuencia de comandos previa al inicio que monta un sistema de archivos, una secuencia de comandos posterior al inicio que desmonta el sistema de archivos y una exec nzbget -D
línea.
El problema es que el demonio nzbget necesita ejecutarse como un usuario no privilegiado. Esta característica ya está incluida en nzbget. De hecho, cuando ejecuto desde la consola, sudo nzbget -D
el proceso se ejecuta como un usuario no privilegiado. Pero cuando comienzo el trabajo inicial con la exec nzbget -D
línea, el proceso nzbget -D se ejecuta como root. Como se dijo en el nuevo libro de cocina, intenté usar su -c "nzbget -D" user y también start-stop-daemon sin la estrofa esperada como se aconseja. Pero supongo que para ambos comandos, como el seguimiento inicial rastrea el PID incorrecto, ve el proceso principal como cancelado (debido a los registros de inicio) al final del proceso de inicio y, por lo tanto, lanza el script posterior al proceso que no quiero.
=> ¿Cómo puedo hacerlo bien? ¿Cómo es que el exec nzbget -D
comando upstart hace que el proceso se ejecute como root mientras que el sudo nzbget -D
comando hace que se ejecute como usuario no privilegiado?
Sugiero usar sudo con la siguiente sintaxis:
Esto ejecuta el comando foocommand como usuario foouser.
fuente