monit 的用户设置?它应该以 root 身份运行,还是以自己的用户身份运行?

monit 的用户设置?它应该以 root 身份运行,还是以自己的用户身份运行?

我正在尝试monit在 Ubuntu 12.04 服务器上安装。我已经设置并配置了它(我认为),但我不确定它应该以什么用户身份运行。

我在服务器上的用户名为deploy,我的 monitrc 文件如下所示:

$ ls -l /etc/monit/monitrc
-rwx------ 1 deploy deploy 10229 2015-07-30 12:38 /etc/monit/monitrc

即,它由我登录服务器的用户拥有。我已经启动了 monit 守护进程,我可以看到它正在运行,ps并且我可以登录它的 Web 界面。

我不确定的是如何赋予它重新启动进程的权限。例如,nginx:如果我想自己重新启动 nginx,我需要这样做

sudo /etc/init.d/nginx restart

这是否意味着 monit 也需要执行 sudo 才能重新启动它?或者,我应该使用自己的用户配置 monit,并设置该用户,以便它可以在没有 sudo 的情况下重新启动 nginx (以及 monit 需要重新启动或访问的任何其他服务)?

谢谢,马克斯

答案1

是的,monit 要么需要运行 sudo,要么以 root 用户身份运行。将 monit 配置为具有正确权限的自己的用户也是可行的,但它可能是潜在解决方案中涉及最多的。

一般来说,从脚本运行 sudo 是不可行的,因为它会提示输入密码。通过编辑 可以在特定情况下停止 sudo 提示输入密码/etc/sudoers。这个问题的答案问题解释了一个合适的方法。

相关内容