处理Squid Kerberos auth和Squidguard ldapusersearch

时间:2015-04-10 14:50:53

标签: linux ldap kerberos squid

我遇到了Squid Kerberos auth和Squidguard ldapusersearch的麻烦,我用它来申请Active Directory组成员资格的acl。

问题是:

  • Squid和Squidguard将我的用户视为:user@domain.local所以'%s' squidguard的变量是'user@domain.local'
  • 在我的ldap查询中,没有可以解释此字符串的默认属性。

示例:

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

全部谢谢!!!

1 个答案:

答案 0 :(得分:0)

我正在使用Squid版本3.4.5-20140514-r13135和squidguard 1.5-beta以及条带域领域Patch of Mathieu Parent,它能够剥离域并剥离域。 因此,用户显示为“用户”而不是“user @ KERBEROSDOMAIN”

这是一个为我工作的exmaple配置

dbhome / var / lib / squidGuard / db
logdir / var / log / squidGuard

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

stripntdomain true
striprealm true

src用户{         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))”         }