我在 CentOS 上设置了 Nagios Core 服务器,希望人们能够使用他们的 AD 凭据登录 Web 界面。目前,httpd 配置如下:
AuthBasicProvider ldap
AuthType Basic
AuthName "Active Directory Login"
AuthLDAPURL "ldap://[servername].[domainname].inc:3268/dc=[domainname],dc=inc?sAMAccountName?sub" NONE
AuthLDAPBindDN "[Username]@[domainname].inc"
AuthLDAPBindPassword "[Password]"
Require valid-user
但是,尝试登录时会出现以下消息:
[Thu Oct 24 15:18:13.029425 2019] [auth_basic:error] [pid 311] [client 10.121.XX.XX:52740] AH01617: user [username]: authentication failure for "/nagios/": Password Mismatch
我想我做错了什么AuthLDAPURL
,AuthLDAPBindPassword
因为我承认我在理解这些文档时遇到了一些麻烦。
非常感谢。
答案1
再会 !
请检查 cgi.cfg 配置并验证其是否正确。
use_authentication 设置为 1
答案2
我找到了!问题出在AuthLDAPBindDN
。我看到[username]@[domain].[TLD]
几个地方建议使用这种格式,但据我所知,它不起作用。也许它适用于较旧版本的 Apache。相反,用户名应采用以下格式:
CN=[username],OU=[AD folder containing username],[more entries as needed],DC=[domain],DC=[TLD]
本质上,逗号分隔列表是从您使用的用户对象到顶级域的路径。因此,如果您的目录结构如下所示...
company.com
location1
location2
users
alice
bob
charlie
computers
location3
...并且您想使用 Alice 的用户帐户绑定到域,则的值AuthLDAPBindDN
应为:
AuthLDAPBindDN "CN=alice,OU=users,OU=location2,dc=company,dc=com"
希望这能帮助那些像我一样困惑的人。