处理 Squid Kerberos auth 和 Squidguard ldapusersearch

Deal with Squid Kerberos auth and Squidguard ldapusersearch

我遇到了 Squid Kerberos 身份验证和 Squidguard ldapusersearch 的问题,我用它来按 Active Directory 组成员身份应用 acl。

问题是:

示例:

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 登录信息写入其中,因此我的配置文件如下所示:

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 登录。

谢谢大家!!!

我正在使用带有 squidguard 1.5-beta 的 Squid 版本 3.4.5-20140514-r13135 和 Mathieu Parent 的 strip-domain-realm 补丁,它能够剥离域和剥离领域。 所以用户显示为 "user" 而不是 "user@KERBEROSDOMAIN"

这是一个适合我的示例配置


dbhome /var/lib/squidGuard/db
日志目录 /var/log/squidGuard

ldapbinddn squidguard@domain.tld
ldapbindpass squidguardpass
ldapprotover 3
ldapcachetime 2400

stripntdomain 真
striprealm 真

源用户{ ldapusersearch "ldap://ldapserver:3268/dc=ADDomain,dc=com?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=SQUID_USERS,OU=Squid_Groups,OU=Groups,DC=ADDomain,DC=com))" }