¿Cómo configuro monit para iniciar un proceso con un usuario específico?

29

Monit se ejecuta con root, pero no quiero iniciar mis procesos como root ... como mysql, mongrel, apache ...

Guilherme
fuente

Respuestas:

59
 check process tomcat with pidfile /var/run/tomcat.pid
       start program = "/etc/init.d/tomcat start" 
             as uid nobody and gid nobody
       stop program  = "/etc/init.d/tomcat stop"
             # You can also use id numbers instead and write:
             as uid 99 and with gid 99
       if failed port 8080 then restart

(fuente)

crb
fuente
1

he encontrado una respuesta ... podría hacer un: start_program = "su -c 'comando aquí' USERiWANTtoUSE" .. :)

Guilherme
fuente
2
o puede usar una opción 'como uid USERNAME y gid GROUPNAME'. Por ejemplo: start_program = "command" como uid USER y gid GROUPNAME
Guilherme
3
es mejor si edita sus respuestas con esta información.
shingara
0

Puede hacer esto para ejecutar como otro usuario un comando específico

exec /bin/su - userName -c "/usr/bin/nginx start"

Esto ejecutará ese comando " "como el usuario que definiste

Pian0_M4n
fuente
-1

¿Qué sistema operativo / distribución estás usando? ¿Cómo instaló Monit? La mayoría de los dsitros 'hacen lo correcto' y se aseguran de que las cosas no comiencen como root.

Rory
fuente
estoy usando debian sarge ... lo instalé con apt-get ... no creo que monit pueda iniciarse como otro usuario que no sea root ... ¿por cierto? ... :)
Guilherme
monit puede ser ejecutado por cualquier usuario conmonit -c .monitrc
Jayen