OpenLDAP Dar acesso de escrita ao grupo

1

Nosso openldap tem vários grupos: useradmins, agt, ib, iss, itt

O grupo "useradmins" sempre teve permissão para editar (gravar) para todos os grupos. Recentemente, realizei uma simples 'atualização yum' e o openldap foi atualizado. Desde então (cerca de 3 dias atrás agora), os administradores não podem escrever (adicionar ou alterar usuários). O erro é:

Acesso insuficiente - sem acesso de escrita ao pai

... ou, dependendo da minha tentativa / erro com o arquivo slapd.conf, às vezes eu recebo simples:

Acesso insuficiente

Eu editei meu arquivo slapd.conf (cerca de 500 vezes) tentando configurações diferentes enquanto lia posts, docs, etc. online. Meu arquivo slapd.conf atual é assim:

...
database        bdb
suffix          "dc=am5up,dc=com"
directory       /var/lib/ldap

index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber               eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
index entryCSN                          eq
index entryUUID                         eq

access to *
          by self write
          by dn="cn=admin,dc=am5up,dc=com" write
          by group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" write
          by * read
rootdn    "cn=admin,dc=am5up,dc=com"
rootpw    <hashed pwd>
...

Minha suposição é que esta linha está errada:

group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" write

... mas eu tentei dezenas de variações sem sucesso.

Alguém pode fazer alguma sugestão?

Muito apreciado.

    
por MSF004 29.10.2016 / 02:19

1 resposta

1

Então, de acordo com o comentário, o grupo é o seguinte:

dn: cn=useradmins,ou=group,dc=am5up,dc=com

cn: useradmins

gidnumber: 10001

memberuid: mscot

objectclass: posixGroup

memberuid: nhman

memberuid: taden

memberuid: japid

mas de acordo com o acl:

by group/groupOfUniqueNames/uniqueMember="cn=useradmins,ou=groups,dc=am5up,dc=com" write

O grupo deve ter objectClass groupOfUniqueNames e uniqueMember (para quem você quiser conceder acesso). Mas o grupo como mostrado acima não tem nenhum, então você pode fazer duas coisas agora:

  • Adicione objectClass groupOfUniqueNames e seus membros uniqueMember , a ACL funcionará com segurança.

OR

  • Depois de fazer uma pesquisa, descobri que o posixGroup tem uma sintaxe como essa, Você pode usar para conceder acesso aos membros do posixGroup. Você tem que fazer algo como:
access to *
           whatever you want
           by set="user/uid & [cn=useradmins]/memberuid" write
           by * none

Para " usuário / uid " isso será aplicável se os membros da lista forem o uid real dos membros, caso contrário, coloque qualquer atributo que você esteja usando.

    
por 29.10.2016 / 15:31