我在Squidguard auth和Squid卫士ldapusersearch上遇到了麻烦,我用它们来应用Active Directory组成员资格的ACL。
问题是:
user@domain.local,所以鱿鱼守卫的'%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))
}'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登录。
发布于 2015-05-08 17:50:30
在我的环境中,我通过查询LDAP而不是userPrincipalName (而不是sAMAccountName )来实现这一点,因为我的squid还从Kerberos/NTLM auth返回user@domain.local。
另外,一定要使用%20而不是空格,并且当我在conf文件中指定绑定DN时,我使用了引号,因为它在DN中有&,而squid卫兵由于它没有绑定。
发布于 2016-01-17 05:11:59
您可以使用"userlist = userlist“(/ var / squidGuard / userlist)代替"user = foo”
https://serverfault.com/questions/682266
复制相似问题