Como eu configuro o monit para iniciar um processo com um usuário específico?

29

Monit roda com root, mas eu não quero iniciar meus processos como root .. como mysql, mongrel, apache ..

Guilherme
fonte

Respostas:

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

(fonte)

crb
fonte
1

eu encontrei uma resposta .. eu poderia fazer um: start_program = "su -c 'comando aqui' USERiWANTtoUSE" .. :)

Guilherme
fonte
2
ou pode usar uma opção 'como uid USERNAME e gid GROUPNAME'. Por exemplo: start_program = "command" como uid USER e gid GROUPNAME
Guilherme
3
é melhor se você editar suas respostas com essas informações.
Shingara
0

Você pode fazer isso para executar como outro usuário um comando específico

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

Isso executará esse comando " "como o usuário que você definiu

Pian0_M4n
fonte
-1

Qual sistema operacional / distribuição você está usando? Como você instalou o Monit? A maioria dos dsitros 'faz a coisa certa' e garante que as coisas não iniciem como raiz.

Rory
fonte
estou usando o debian sarge .. eu instalei com o apt-get .. não acho que o monit possa ser iniciado como outro usuário que não seja root .. a propósito, como pode? .. :)
Guilherme
O monit pode ser executado por qualquer usuário com #monit -c .monitrc
Jayen