[squid-users] LDAP related question.
Dan Purgert
dan at djph.net
Fri Jul 31 09:45:43 UTC 2015
Quoting Eliezer Croitoru <eliezer at ngtech.co.il>:
> I wanted to test the ext_ldap_group_acl so I created a ldap domain.
> The command I am testing is:
> /usr/lib/squid3/ext_ldap_group_acl -b "DC=ngtech,DC=local" -D
> "CN=admin,DC=ngtech,DC=local" -w "password" -f
> "(&(objectclass=person)(sAMAccountName=%v)(memberof=CN=%a,DC=ngtech,DC=local))" -h
> 127.0.0.1
Looks like your command is a bit off. Here's my LDAP one which works
(some variant of squid3 -- I only have the config file on my local PC,
and no over-the-internet access to this particular proxy, as at work).
Please note that I redacted the actual domain name, and replaced it
with "example".
external_acl_type ldapgroup %LOGIN /usr/lib/squid3/ext_ldap_group_acl
-b "ou=users,dc=example,dc=org" -D "cn=admin,dc=example,dc=org" -W
/etc/squid3/pass.in -f
(&(objectClass=*)(uid=%u)(memberof=cn=%g,ou=ldapGroups,dc=example,dc=org)) -h
ldap.example.org
I was having trouble with the object class myself ... but the LDAP
group is small (like 30 people, and nothing else like printers or
anything), so having a "too big" objectClass base isn't the end of the
world.
then the acls are pretty simple:
acl ldap-kids external ldapgroup kids
acl ldap-parents external ldapgroup parents
acl allow [...] kids
acl deny kids all <-- not 100% sure this one is necessary, but I'm
also not 100% certain how squid reacts to a couple "allow" rules,
followed by "allow" rules for a different group, but this seems to work.
acl allow [...] parents
acl deny ad_sites parents all <-- death to ads ;)
acl deny all
>
> Now I have entered "user1 int" and it should to my understanding
> reply with OK but it return ERR:
> user1 int
> ext_ldap_group_acl.cc(587): pid=27778 :Connected OK
> ext_ldap_group_acl.cc(726): pid=27778 :group filter
> '(&(objectclass=person)(sAMAccountName=user1)(memberof=CN=int,DC=ngtech,DC=local))', searchbase
> 'DC=ngtech,DC=local'
> ERR
>
>
> Now the ldap structure is like this:
> DC=ngtech, DC=local
> -> CN=int
> member-->user1
> -> OU=users
> --> CN=user1
> (Not such a great painter.)
I think you're missing an OU in there, my LDAP server is ordered like this:
dc=example,dc=org
|
-> ou=ldapGroups
||
|-> cn=kids
|-> cn=parents
|
-> ou=users
|
-> cn=[user1]
-> cn=[user2]
-> [...]
How did you create things? I found that using ldif files caused
trouble (or at least the ones from the examples I had), whereas just
installing phpldapadmin and poking around got me up and running in
almost no time flat.
> [snip]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4387 bytes
Desc: S/MIME Signature
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20150731/7ee2c75e/attachment.bin>
More information about the squid-users
mailing list