[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Help for special ACL needed
Hi Dieter,
as I was trying to implement your ACL a more fundamental problem arose.
The structure at the moment is
dc=justushere,dc=de
-> ou= Users
-> Some users in here with their data
If I do a ldapsearch with the admin DN I can get all the data from everything
I want. The way it should be.
For example:
ldapsearch -xWD cn=admin,dc=justushere,dc=de uid=goetzf
gives me all the information about my own user.
If I try
ldapsearch -xWD uid=goetzf,ou=Users,dc=justushere,dc=de uid=goetzf
I get "ldap_bind: Invalid credentials (49)" as answer.
The only ACL left in the system now are the following:
#1 .Publishing subschemas for JXplorer
access to dn.base="cn=Subschema"
by dn="cn=admin,dc=justushere,dc=de" read
#2. Your ACL, now commented out for testing
#access to dn.regex="^uid=([^,]+),dc=justushere,dc=de$"
# attrs=entry,sn,cn,userPassword,mail
# by dn.exact,expand="uid=$1,ou=Users,dc=justushere,dc=de" write
# by * none
#3. Deny any other access
access to *
by none
I got no clue why I get a "invalid credential" message when using my own
password. There are no ACLs restricting access. No matter if I you your ACL
above or not, I´m not getting access with my password.
If I just use ACL Nr 1 and another
access to * by self read
I can´t get any info as well, no matter if i use
ldapsearch -xWD uid=goetzf,ou=Users,dc=justushere,dc=de uid=goetzf or even
ldapsearch -xWD uid=goetzf,ou=Users,dc=justushere,dc=de
uid=goetzf,ou=Users,dc=justushere,dc=de
If I rewrite that to
access to * by * read
I get all information with my password.
As I mentioned above, I got no more clues how to handle that :(
Florian
On Thursday 30 April 2009 18:27:58 Dieter Kluenter wrote:
> Florian Götz <f.goetz@hs-mannheim.de> writes:
> > A warm "Hello" from germany to the openldap-technical list!
> >
> > I´m rather new to OpenLDAP, using version 2.4.12 on a SLES11 server.
> > I need to write an ACL which allows a user to see his own entry
> > (objectClass build up on inetOrgPerson) and nothing else.
> > I know that this isn´t the intended use of the LDAP system, but our
> > manager wants it that way.
> >
> > I tried it with somekind of that:
> >
> > access to dn.regex="uid=([^,]+),dc=justushere,dc=de$" attrs=entry
> > by dn.regex="uid=$1,ou=Users,dc=justushere,dc=de" write
> > by users none
> >
> > but I just get a message about invalid credentials.
> > Used command was:
> > ldapsearch -xWD uid=user1,ou=users,dc=justushere,dc=de uid=user1
>
> According to your ACL's a subtree search is not allowed.
>
> > ldapsearch -xWD cn=admin,dc=justushere,dc=de uid=user1 with the rootdn
> > account shows the information, but if the uid of the user1 is used for
> > binding it fails.
> >
> > Has anyone an idea how to realize these restrictions?
>
> access to dn.regex="^uid=([^,]+),dc=justushere,dc=de$"
> attrs=entry,more attrs
> by dn.exact,expand="uid=$1,ou=Users,dc=justushere,dc=de" write
> by * none
>
> ldapsearch - -xDW -b uid=user1,ou=users,dc=justushere,dc=de -s base
> should do what you want.
>
> -Dieter
-----