我从命令行发出monit命令,这工作
$ sudo monit reload
现在我创建一个shell脚本monitreload.sh
#!/bin/bash
monit reload
然后命令
$ sudo ./monitreload.sh
$ sudo -u ram ./monitreload.sh
上面的失败与权限被拒绝的错误。
请注意/etc/monit/monitrc文件由root所有,用户'ram'是有效的sudo用户。SO中的大多数问题都是关于gid和uid在monit config(如this one)中的使用,或者通过monit config(如this one)调用shell
这里出了什么问题?
1条答案
按热度按时间ryevplcw1#
根据您的示例命令
第一个应该工作,你切换到根。但是第二个不应该,你切换到用户“ram”,用户“ram”不能重新加载配置,只要Monit被“root”盯着。
如果“ram”被授权切换到“root”,您可以在命令中添加一个额外的“sudo”来从“ram”切换到“root”。Monit不会自动切换到“root”用户。