ฉันจะกำหนดค่า monit เพื่อเริ่มต้นกระบวนการกับผู้ใช้ที่เฉพาะเจาะจงได้อย่างไร


29

Monit ทำงานกับรูท แต่ฉันไม่ต้องการที่จะเริ่มต้นกระบวนการของฉันในฐานะรูท .. เช่น mysql, mongrel, apache ..

คำตอบ:


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

(ที่มา)


1

ฉันพบคำตอบ .. ฉันสามารถทำ: start_program = "su -c 'คำสั่งที่นี่' USERiWANTtoUSE" .. :)


2
หรือสามารถใช้ตัวเลือก 'เป็น uid USERNAME และ gid GROUPNAME' ตัวอย่างเช่น: start_program = "command" เป็น uid USER และ gid GROUPNAME
Guilherme

3
จะดีกว่าถ้าคุณแก้ไขคำตอบด้วยข้อมูลนี้
shingara

0

คุณสามารถทำได้เพื่อเรียกใช้คำสั่งเฉพาะของผู้ใช้รายอื่น

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

สิ่งนี้จะเรียกใช้คำสั่งนั้น" "ในฐานะผู้ใช้ที่คุณกำหนดไว้


-1

คุณใช้ระบบปฏิบัติการ / distro อะไร คุณติดตั้ง Monit อย่างไร dsitros ส่วนใหญ่ 'ทำในสิ่งที่ถูกต้อง' และตรวจสอบให้แน่ใจว่าสิ่งต่าง ๆ ไม่เริ่มต้นจากรูต


ฉันใช้ Debian Sarge .. ฉันได้ติดตั้งกับ apt-get .. ฉันไม่คิดว่า monit สามารถเริ่มต้นเป็นผู้ใช้อื่นที่ไม่ใช่ราก .. โดยวิธีการที่จะสามารถ .. :)?
Guilherme

monit สามารถเรียกใช้โดยผู้ใช้ใด ๆ ด้วยmonit -c .monitrc
Jayen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.