可能重复:
nagios - Web 界面:通过 kerberos 进行身份验证 OK,那么 cgi.cfg 上的授权怎么样?
我想通过使用活动目录组(以下代码中的“NagiosWebfrontend”)授予用户对 nagios 3 核心前端的访问权限。登录工作正常,如下所示:
AuthType Basic
AuthName "Nagios Access"
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPURL "ldap://ip-address:389/OU=user-ou,DC=domain,DC=tld?sAMAccountName?sub?(objectClass=*)"
AuthLDAPBindDN CN=LDAP-USER,OU=some-ou,DC=domain,DC=tld
AuthLDAPBindPassword the_pass
Require ldap-group CN=NagiosWebfrontend,OU=some-ou,DC=domain,DC=tld
不幸的是,每个 nagios 页面都只显示“您似乎无权查看您请求的任何服务的信息...”。我得到了提示,我在 nagios 配置中缺少一个与我的登录名相同的联系人,但创建一个与域用户同名的联系人对这个问题没有影响。但是,如果能找到一个不需要为每个新用户手动编辑 nagios.conf 的解决方案就太好了,这样管理员就可以通过将用户放入“NagiosWebfrontend”组来授予对 nagios 的访问权限。解决这个问题的最佳方法是什么?
答案1
为了解决这个问题,我让 puppet 生成 cgi.cfg 并根据其执行的 ldap 查询保留用户名列表。Nagios 本身不支持此功能。
答案2
可能没有办法授予基于(ldap)组的权限,但编辑 cgi.cfg 并修改以下内容(例如,有不同的权限)对我来说效果很好:
authorized_for_system_commands=*
我已经用星号替换了标准 nagios 登录(nagiosadmin),这对于我的情况来说是可以的,因为所有 nagios 管理员(只有少数)都拥有所有权限。