Como permitir que usuários em um servidor openLDAP criem, atualizem e modifiquem usuários sob uma determinada organizationalUnit?

1

Estou empenhado em tentar permitir que usuários abertos doLDAP que estejam em um determinado grupo (EX: cn=Admins,dc=mydomain,dc=com ) at create, modify, update, and delete usuários que estão em outro organizationalUnit (EX: ou=Users,dc=mydomain,dc=com ) por aproximadamente duas semanas . Eu fiz tudo ao meu alcance para tentar descobrir isso. Como pesquisar no Google, pesquisar serverfault e, finalmente, pesquisar stackoverflow mas sem sucesso. Eu sou relativamente novo em abrirLDAP e provavelmente é um erro e / ou algo que estou negligenciando com o atributo olcAccess no dn: olcDatabase={1}hdb,cn=config .

Admin Group.ldif

dn: cn=Admins,dc=ldapserver,dc=com
changetype: add
objectClass: groupOfNames
objectClass: top
member: cn=admin,ou=Users,dc=ldapserver,dc=com
cn: Admins

Users.ldif

dn: ou=Users,dc=ldapserver,dc=com
changetype: add
objectClass: organizationalUnit
objectClass: top
ou: Users

Padrão olcAccess

Observação: são as ACLs padrão que vêm com uma nova instalação do servidor openLDAP.

dn: olcDatabase={1}hdb,cn=config
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to * by * read

Observação 1: Como sou relativamente novo no openLDAP, não defini nenhum outro ACLs além daqueles que vêm por padrão quando você instala o servidor openLDAP pela primeira vez.

Observação 2: Antes de fazer a minha pergunta, tentei esta pergunta aqui que, obviamente, não funcionou para mim.

Obrigado Alex

    
por Alex Lowe 14.06.2016 / 00:22

1 resposta

0

As ACLs, no openldap, são sempre avaliadas de cima para baixo da lista de linhas numeradas {0}, {1}, .. Assim que uma condição é atendida, a avaliação é imediatamente parou (assumindo que a pausa não foi usada).

Nas ACLs padrão definidas pelo Ubuntu e compatíveis, existe a linha:

olcAccess: {2} para * por * leia

para * por *: encontrou tudo, adicionar linhas depois não tem efeito algum.

A solução discutida em este link e acima deve resolver o seu problema, sugiro você tenta esta lista ACL:

olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to dn.subtree="ou=Users,dc=ldapserver,dc=com"
             by group/groupOfUniqueNames/uniqueMember="cn=Admins,dc=ldapserver,dc=com" write

e altere a objectClass do grupo admins para groupOfUniqueNames.

    
por 04.08.2016 / 12:50