У меня проблемы с аутентификацией Squid Kerberos и Squidguard ldapusersearch, которые я использую для применения ACL по членству в группах Active Directory.
Проблема в :
user@domain.local
так переменная squidguard '% s' 'user@domain.local'
Пример :
src ldap {
ldapusersearch ldap://dc1.domain.local:3268/dc=domain,dc=local?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=group,OU=Groups,DC=domain,DC=local))
}
И sAMAccountName должно быть только 'user'
и нет 'user@domain.local'
!!!
Итак, я нашел решение, но оно не очень удобное:
Я редактирую неиспользуемый атрибут пользователя AD и записываю в него свой логин Kerberos, чтобы мой conf выглядел так:
src ldap {
ldapusersearch ldap://dc1.domain.local:3268/dc=domain,dc=local?displayNamePrintable?sub?(&(displayNamePrintable=%s)(memberOf=CN=group,OU=Groups,DC=domain,DC=local))
}
И это работает !!!
У кого-нибудь есть идея обойти необходимость создания настраиваемого атрибута в содержимом AD?
И кстати userPrincipalName
совпадает с адресом электронной почты и не может интерпретировать логин Kerberos.
Я заставил это работать в моей среде, запросив LDAP для userPrincipalName вместо sAMAccountName, поскольку мой squid также возвращает user@domain.local из Kerberos / NTLM auth.
Также не забудьте использовать% 20 вместо пробелов, и когда я указывал DN привязки в моем файле conf, я использовал кавычки, так как у них был & в DN, и squidguard не был привязан из-за этого.
Вы можете использовать "userlist = userlist" (/ var / squidGuard / userlist) вместо "user = foo bar"