Wie konfiguriere ich Monit, um einen Prozess mit einem bestimmten Benutzer zu starten?

29

Monit läuft mit root, aber ich möchte meine Prozesse nicht als root starten .. wie mysql, mongrel, apache ..

Guilherme
quelle

Antworten:

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

(Quelle)

crb
quelle
1

Ich habe eine Antwort gefunden. Ich könnte Folgendes tun: start_program = "su -c" Befehl hier "USERiWANTtoUSE". :)

Guilherme
quelle
2
oder kann eine Option 'als UID USERNAME und gid GROUPNAME' verwenden. Zum Beispiel: start_program = "command" als uid USER und gid GROUPNAME
Guilherme
3
Es ist besser, wenn Sie Ihre Antworten mit diesen Informationen bearbeiten.
Shingara
0

Sie können dies tun, um als anderer Benutzer einen bestimmten Befehl auszuführen

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

Dadurch wird dieser Befehl " "als der von Ihnen definierte Benutzer ausgeführt

Pian0_M4n
quelle
-1

Welches Betriebssystem / welche Distribution verwenden Sie? Wie haben Sie Monit installiert? Die meisten dsitros "tun das Richtige" und stellen sicher, dass die Dinge nicht als root beginnen.

Rory
quelle
Ich benutze Debian Sarge. Ich habe mit Apt-Get installiert. Ich glaube nicht, dass Monit als anderer Benutzer als Root gestartet werden kann. Übrigens? :)
Guilherme
monit kann von jedem Benutzer mitmonit -c .monitrc
Jayen