Я пытаюсь настроить репозиторий Apache SVN с аутентификацией Kerberos и авторизацией членства в группе LDAP, чтобы к нему могли получить доступ только пользователи, принадлежащие к определенной группе. Сам по себе Kerberos auth работает нормально, как и LDAP сам по себе. Но я хотел бы объединить их таким образом, чтобы у меня не было учетных данных в виде обычного текста для привязки к каталогу LDAP в конфигурации apache. Моя текущая конфигурация (которая не работает):
LDAPVerifyServerCert Off
<Location /svn01>
DAV svn
SVNParentPath /var/www/svn01
AuthType Kerberos
Authname "Test Repo"
KrbMethodK5Passwd On
KrbAuthRealms KOUKOU.LOCAL
KrbSaveCredentials On
KrbServiceName HTTP
Krb5KeyTab /etc/httpd/conf.d/svnusr.http.keytab
AuthLDAPUrl ldaps://ad01.koukou.local:636/dc=koukou,dc=local?krbPrincipalName
Require ldap-group CN=admins,CN=Users,DC=koukou,DC=local
</Location>
Я видел такую конфигурацию в Интернете, но у меня она не работает. В браузере я получаю сообщение «Неавторизованный», а в журнале ошибок apache я получаю:
[Thu Mar 02 09:55:21.817559 2017] [authnz_ldap:debug] [pid 10314] mod_authnz_ldap.c(838): [client 172.21.11.13:57737] AH01711: auth_ldap authorise: User DN not found, User not found
и
[Thu Mar 02 09:55:21.817605 2017] [authz_core:error] [pid 10314] [client XXX.XXX.XXX.XXX:57737] AH01631: user username@KOUKOU.LOCAL: authorization failure for "/svn01/repo":
Я что-то не так понимаю? Даже если добавить сегмент для привязки с учетными данными в конфигурации, я все равно получаю вышеуказанные ошибки.
Версия Apache - 2.4.6, Centos - 7.2, а Windows AD - 2012R2 с функциональным уровнем 2008.
Заранее спасибо, Ник
Для этой конкретной проблемы это работает для меня:
KrbLocalUserMapping On
Для этого вам понадобится как минимум эта версия: mod_auth_kerb-5.4
Подробнее об этом:
https://bugzilla.redhat.com/show_bug.cgi?id=970678
И я тоже этим пользуюсь:
Требовать действительного пользователя
Подробнее об этом:
https://cwiki.apache.org/confluence/display/HTTPD/PasswordBasicAuth