Monit runs with root, but i don't want to start my processes as root.. like mysql, mongrel, apache..

 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


|improve this answer|||||

i have found a answer.. i could do a: start_program = "su -c 'command here' USERiWANTtoUSE".. :)

|improve this answer|||||
  • 2
    or can use a option 'as uid USERNAME and gid GROUPNAME'. For ex: start_program = "command" as uid USER and gid GROUPNAME – Guilherme Aug 5 '09 at 21:40
  • 3
    it's better if you edit your answers with this information. – shingara Apr 7 '10 at 13:05

You can do this to run as another user a specific command

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

This will run that command " " as the user you defined

|improve this answer|||||

What operating system / distro are you using? How did you install Monit? Most dsitros 'do the right thing' and make sure things don't start as root.

|improve this answer|||||
  • i'm using debian sarge.. i've installed with apt-get.. i don't think monit can be started as other user than root.. by the way it can?.. :) – Guilherme Aug 7 '09 at 15:18
  • monit can be run by any user with monit -c .monitrc – Jayen Aug 9 '12 at 1:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.