我在 3 台服务器上安装了 icinga2,所有服务器都使用 debian stretch。在一台服务器上,我运行着 glusterfs-Server,并想用 icinga2 监控它。我从 icinga2 网站下载了 check_cluster 服务/脚本。
为了使其工作,我需要 sudo 权限。我设置了它们,但在 icinga2 中只收到一条错误消息:
command = [ "/usr/bin/sudo", PluginDir + "/check_cluster -h 1 -c 2 -d 0,0,0" ]
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: no tty present and no askpass program specified
用户的 sudo 权限为:(在 /etc/sudoers 中)
Defaults:nagios !requiretty
nagios ALL=(ALL:ALL) NOPASSWD: /usr/sbin/gluster
Cmnd_Alias CHECK_CLUSTER= /usr/lib/nagios/plugins/check_cluster
nagios ALL=(ALL) NOPASSWD: CHECK_CLUSTER
我不知道 nagio 用户是否有密码,也不知道这是否是问题所在。这是来自 /varlog/auth.log
sudo: pam_unix(sudo:auth): conversation failed
sudo: pam_unix(sudo:auth): auth could not identify password for [nagios]
sudo: nagios : command not allowed ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/lib/nagios/plugins/check_cluster -h 1 -c 2 -d 0,0,0
我不想做的是,给予 nagios 完全的权限
nagios ALL=(ALL) NOPASSWD: ALL
我该怎么办?您建议我设置哪些权限?
答案1
尝试设置
Cmnd_Alias CHECK_CLUSTER=/usr/lib/nagios/plugins/check_cluster -h 1 -c 2 -d 0,0,0
因为这就是用户 nagios 尝试使用 sudo 执行的操作。