Мы используем Apache mod_authnz_ldap для аутентификации пользователей в Nagios с помощью нашей LDAP Active Directory. Сейчас он работает с использованием SamAccountName. Однако Nagios использует SamAccountName в качестве имени пользователя, вошедшего в систему. Это вызывает небольшую проблему с комментариями автора и т. П. (Мы не запоминаем идентификаторы пользователей).
Есть ли способ, чтобы mod_authnz_ldap аутентифицировался с помощью SamAccountName, но вместо этого возвращал DisplayName или Name? Таким образом, в комментариях автора будет отображаться настоящее имя пользователя.
Вот мой nagios.conf для httpd:
<Directory "/usr/lib64/nagios/cgi-bin/">
# SSLRequireSSL
Options ExecCGI
Options FollowSymLinks
AllowOverride None
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative off
AuthName "Active Directory Login"
AuthLDAPURL "ldap://my.ldap.server:389/dc=my_dc,dc=my_dc,dc=net?sAMAccountName?sub" NONE
Require valid-user
</Directory>
Alias /nagios "/usr/share/nagios/html"
<Directory "/usr/share/nagios/html">
# SSLRequireSSL
Options ExecCGI
Options FollowSymLinks
AllowOverride None
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative off
AuthName "Active Directory Login"
AuthLDAPURL "ldap://my.ldap.server:389/dc=my_dc,dc=my_dc,dc=net?sAMAccountName?sub" NONE
Require valid-user
</Directory>
Догадаться. Мне пришлось добавить «cn» в AuthLDAPURL, а также добавить AuthLDAPRemoteUserAttribute
.
Теперь Nagios (ну, Apache) будет видеть переменную окружения REMOTE_USER как cn
AuthLDAPURL "ldap://my.ldap.server:389/dc=my_dc,dc=my_dc,dc=net?sAMAccountName,cn?sub" NONE
AuthLDAPRemoteUserAttribute cn