Olivier,
Thank you for your suggestion, it really helped. The problem is now solved.
My configuration looks like this now
defaultsearchbase dc=mydomain,dc=org
sortvals member memberUid roleOccupant
access to
attrs=userpassword,shadowMax,shadowExpire,sambaLMPassword,sambaNTPassword,sambaPwdLastSet
by dn.regex="uid=myadmin,ou=people,dc=mydomain,dc=org" write
by self write
by anonymous auth
by * none
access to *
by dn.regex="uid=admin,ou=people,dc=mydomain,dc=org" =wrscx
by self write
by users read
by anonymous auth
by * none
I have made some tests and so far it seems good. Myadmin is able to see everyone's
password, a user can see his passwords but not other's people. Non authenticated users
cannot do anything.
I have noticed that I cannot add a comment line in the middle of an ACL and slapd
won't start
access to *
by dn.regex="uid=admin,ou=people,dc=mydomain,dc=org" =wrscx
# by self write
by users read
But my version 2.4.26 is not the latest so this feature my have been implemented already.
----- Mail original -----
De : Olivier Guillard <olivier(a)guillard.nom.fr>
À : Mik J <mikydevel(a)yahoo.fr>
Cc :
Envoyé le : Dimanche 30 septembre 2012 22h23
Objet : Re: slapd ACLs
Could you activate ACL debug level ?
since I'm not very familiar with "dn.regex", you might need help
from
someone else anyway.
---
Olivier
2012/9/30 Mik J <mikydevel(a)yahoo.fr>:
> Thank you for your answer Olivier, I tried to do this but it didn't
work. The logs look like this
>
> conn=1001 op=0 BIND dn="user2,ou=people,dc=mydomain,dc=org"
method=128
> conn=1001 op=0 BIND dn="user2,ou=people,dc=mydomain,dc=org"
mech=SIMPLE ssf=0
> conn=1001 op=0 RESULT tag=97 err=0 text=
> conn=1001 op=1 SRCH base="user1,ou=people,dc=mydomain,dc=org"
scope=2 deref=0 filter="(objectClass=*)"
> conn=1001 op=1 SEARCH RESULT tag=101 err=32 nentries=0 text=
> conn=1001 op=2 UNBIND
>
> I triple checked, and when it works, with the dn.subtree permission in the
begining of slapd.conf I have
> conn=1000 op=0 BIND dn="user2,ou=people,dc=mydomain,dc=org"
method=128
> conn=1000 op=0 BIND dn="user2,ou=people,dc=mydomain,dc=org"
mech=SIMPLE ssf=0
> conn=1000 op=0 RESULT tag=97 err=0 text=
> conn=1000 op=1 SRCH base="user1,ou=people,dc=mydomain,dc=org"
scope=2 deref=0 filter="(objectClass=*)"
> conn=1000 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
> conn=1000 op=2 UNBIND
>
>
>
>
> ----- Mail original -----
>> De : Olivier <ldap(a)guillard.nom.fr>
>> À : Mik J <mikydevel(a)yahoo.fr>
>> Cc :
>> Envoyé le : Dimanche 30 septembre 2012 20h29
>> Objet : Re: slapd ACLs
>>
>> T ry to put this rule :
>>
>>> access to dn.subtree=""
>>> by * read
>>
>> after the two others.
>>
>> (ionce a rule matches, then the scan stops : order counts)
>>
>> --
>> Olivier
>>
>> 2012/9/30 Mik J <mikydevel(a)yahoo.fr>:
>>> Hello,
>>>
>>> I'm a bit confused with the ACLs in my slapd.conf considering
I have
>> this
>>>
>>> access to dn.subtree=""
>>> by * read
>>>
>>> access to
>>
attrs=userPassword,shadowMax,shadowExpire,sambaLMPassword,sambaNTPassword
>>> by
dn.regex="uid=[^/]+/admin\+(realm=MYDOMAIN.ORG)?"
>> write
>>> by dn="uid=admin,ou=people,dc=mydomain,dc=org"
write
>>> by self write
>>> by anonymous auth
>>> by * none
>>>
>>> access to *
>>> by
dn.regex="uid=[^/]+/admin\+(realm=MYDOMAIN.ORG)?"
>> =wrscx
>>> by self write
>>> by users read
>>> by anonymous auth
>>> by * none
>>>
>>>
>>> When I do a ldapsearch without authentication, I can see the
user's
>> details including the unencrypted password
>>>
>>> ldapsearch -x -b
"uid=user1,ou=people,dc=mydomain,dc=org"
>>> I think that it's because the rule access to
dn.subtree="" by
>> * read
>>> With an authenticated user is works as well
>>>
>>> ldapsearch -x -D uid=user2,ou=people,dc=mydomain,dc=org -b
>> "uid=user1,ou=people,dc=mydomain,dc=org" -W
>>>
>>> But if I comment these two lines
>>> #access to dn.subtree=""
>>> # by * read
>>> The search doesn't give me any result
>>>
>>> ldapsearch -x -D uid=user2,ou=people,dc=mydomain,dc=org -b
>> "uid=user1,ou=people,dc=mydomain,dc=org" -W
>>> # search result
>>> search: 2
>>> result: 32 No such object
>>> # numResponses: 1
>>>
>>> I would have expected that this command matched
>>> access to *
>>> by users read
>>>
>>> My goal is that only authenticated user would be able to access
the ldap
>> directory and users can change their passwords
>>>
>>> Does anyone has an idea on how to explain this behavior. ?
>>>
>>> Thank you
>>>
>>
>