授予用户访问权限以便他们可以重新启动 nagios 服务的最佳方法是什么?
我已经在visudo中添加了
USER ALL = NOPASSWD: /usr/sbin/service ServiceName *
但这不起作用,我使用的是Red hat 6,
User name is ahmed
Service name : nagios
答案1
根据Nagios 文档,Nagios 仍然是基于 init 的,因此为了允许任何用户启动和停止 Nagios 服务,我们将:
- 创建操作员命令别名
- 创建操作员组
- 允许操作员组中的任何人启动/停止 Nagios 服务:
- 例如,将用户“ahmed”添加到操作员组(根据您的问题)
首先更改 sudoers 文件:
sudo visudo
在该部分中# Cmnd alias specification
添加:
Cmnd_Alias CMD_OPERATOR=/etc/rc.d/init.d/nagios
在### User privilege specification section ###
添加中:
# Allow the group "operator" to use certain applications
%operator ALL=CMD_OPERATOR
现在创建组operator
:
sudo groupadd operator
并将 ahmed 添加到操作员组中:
sudo usermod --append --groups operator ahmed
就是这样!现在 ahmed 可以执行所有这些命令:
sudo /etc/rc.d/init.d/nagios start
sudo /etc/rc.d/init.d/nagios reload
sudo /etc/rc.d/init.d/nagios stop
通过提供他自己的密码。
为什么?
好了,现在您有了一个操作员组,您可以:
- 轻松添加此类用户需要执行的其他程序
- 如果需要,可以轻松撤销其操作员权利