OpenLDAP: o usuário excluído ainda está listado no grupo

1

Atualmente estou fazendo o openldap via linha de comando. Eu adicionei o usuário John e adicionei o grupo devgroup, e designei John para o grupo devgroup. Quando eu apaguei um usuário (John) via linha de comando

ldapdelete -Y EXTERNAL -H ldapi:/// -D "cn=admin,dc=example,dc=local" 
"uid=john,dc=example,dc=local"

O usuário está ausente, mas não no membro do grupo atribuído anteriormente (devgroup).

Percebi que o usuário e o usuário atribuído ao grupo não têm vínculo. Basicamente, posso adicionar qualquer usuário de inexistência no grupo. Existe maneira de ligar esses dois?

Obrigado!

    
por hlzhlm 14.08.2018 / 12:16

2 respostas

0

Acredito que você acabou de excluir o usuário com esse comando, mas nem todas as entradas da unidade organizacional. Entendo que o LDAP não mantém vínculos com objetos diferentes como você está pensando, em vez disso, espera-se que você faça o primeiro ldapsearch para produzir listas de objetos com as quais deseja atuar usando ldapdelete ou ldapmodify .

Em geral, gravamos os resultados de ldapsearch para .ldif arquivos primeiro e depois agimos sobre eles usando ldapmodify ou ldapdelete . No entanto, você pode analisar a saída de ldapsearch e canalizá-la para ldapmodify , conforme mostrado neste exemplo a partir deste U & L Q & A intitulado: ldapdelete, deseja remover todos UIDs de pessoas OU, mas preservar OU? .

$ ldapsearch -ZZ -W -D 'cn=Manager,dc=site,dc=fake' \
   -b 'ou=people,dc=site,dc=fake' -s one  dn | \
   grep dn: | cut -b 5- | ldapdelete -ZZ -W -D 'cn=Manager,dc=site,dc=fake'

Acredito que você precisará fazer algo semelhante, encontrar todos os grupos dos quais o usuário é memberUid , depois passar essa lista para ldapmodify e, em seguida, executar o comando ldapdelete depois que eles tiverem sido removido de todos os grupos.

Incidentalmente, para remover o usuário de um grupo:

dn: cn=Manager,dc=site,dc=fake
changetype: modify
delete: memberuid
memberuid: john

Com relação aos arquivos .ldif , os exemplos nesta página intitulam: Gerenciar usuários com o protocolo LDAP (Lightweight Directory Access Protocol) é excelente. Eles mostram como fazer todas as operações básicas com .ldif snippets que podem ser expandidos para fazer operações em vários objetos.

    
por 14.08.2018 / 15:11
0

Como você já reconheceu entradas de grupo e suas entradas de membros são apenas isso: Separe as entradas sem link físico.

Você tem duas opções:

  1. Implemente seu próprio script para remover uma entrada de membro e remover seu DN do atributo membro na entrada do grupo.
  2. Use a sobreposição do OpenLDAP slapo-refint para permitir slapd remova a referência do membro da entrada do grupo no caso de você excluir a entrada do membro.
por 14.08.2018 / 15:31

Tags