[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: OpenLDAP permissions question
Hello Ferenc,
Thank you for the answer. This is even more confusing.
I am going to slightly rephrase what you were suggesting, only to
confirm that I understood you. I am not at all sure I did
I have an OpenLDAP server with multiple databases: a config database -
{0)config,cn=config plus several for DITs {1}hdb,cn=config and also
{2}hdb,cn=config ... {n}hdb,cn=config
Are you saying that I could pick an administrator associated with
database X [last say 2] for some domain dc=example,dc=com and give
this user identified by DN: cn=admin,dc=example,com rights to manage
records in all DITs?
Basically, something like "$ldapdelete -x -D
cn=admin,dc=example,dc=com -W cn=john,dc=directory,dc=com" would
successfully delete an entry from a DIT with index Y [say 1].
I apologize for asking these questions, but I have been given a lot of
advice some of which was aimed to solve other problems. Apparently, my
ability to clearly explain what I need is not much better than the
ability to comprehend OpenLDAP docs.
Sincerely,
Igor Shmukler
On Fri, Mar 20, 2015 at 10:19 AM, Ferenc Wagner <wferi@niif.hu> wrote:
> Igor Shmukler <igor.shmukler@gmail.com> writes:
>
>> olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymou
>> s auth by dn="cn=admin,dc=ldap,dc=com" write by dn="cn=config" wri
>> te by * none
>> olcAccess: {1}to dn.base="" by * read
>> olcAccess: {2}to * by self write by dn="cn=admin,dc=ldap,dc=com" wr
>> ite by * read
>
> OK, I think I understand your problem now. As Brendan mentioned,
> cn=config is not a user object, you can't set a userPassword on it.
> It's still possible to bind to it, because it's your RootDN, and RootPW
> is set. But this will give it access to its own database only, and skip
> ACL processing anyway. So the idea I gave you is good, but you have to
> use a normal user object with userPassword instead of cn=config. You
> can't create such an object in the config database, but anything else
> goes; let's say its cn=root,dc=example,dc=com. Use this in your ACLs
> for each database (cn=config included, if you want):
>
> olcAccess: {0}to * by dn.base=cn=root,dc=example,dc=com manage
> [...]
>
> and you should be set. So to correct my answer to your original
> question: what you want (use cn=config with simple bind to manage all
> your databases) is not possible. Using any normal user object instead
> of cn=config should work, though. At least according to my limited
> understanding. Sorry for mistaking this earlier.
> --
> Regards,
> Feri.