Comment configurer monit pour démarrer un processus avec un utilisateur spécifique?

29

Monit fonctionne avec root, mais je ne veux pas démarrer mes processus en tant que root .. comme mysql, mongrel, apache ..

Guilherme
la source

Réponses:

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

(la source)

crb
la source
1

j'ai trouvé une réponse .. je pourrais faire une: start_program = "su -c 'commande ici' USERiWANTtoUSE" .. :)

Guilherme
la source
2
ou peut utiliser une option «comme uid USERNAME et gid GROUPNAME». Par exemple: start_program = "command" comme uid USER et gid GROUPNAME
Guilherme
3
il est préférable de modifier vos réponses avec ces informations.
shingara
0

Vous pouvez le faire pour exécuter en tant qu’autre utilisateur une commande spécifique

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

Cela exécutera cette commande en " "tant qu'utilisateur que vous avez défini

Pian0_M4n
la source
-1

Quel système d'exploitation / distribution utilisez-vous? Comment avez-vous installé Monit? La plupart des dsitros «font la bonne chose» et s'assurent que les choses ne commencent pas en tant que root.

Rory
la source
j'utilise debian sarge .. j'ai installé avec apt-get .. je ne pense pas que monit puisse être démarré en tant qu'utilisateur autre que root .. par la façon dont il peut? .. :)
Guilherme
monit peut être exécuté par n'importe quel utilisateur avecmonit -c .monitrc
Jayen