Назад | Перейти на главную страницу

Аутентификация Apache и LDAP

Мы используем 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