Como atualizo os atributos memberOf de objetos existentes depois de adicionar a sobreposição de manutenção de associação de grupo reverso do OpenLDAP?

6

Este é um follow-up para esta pergunta : adicionei o membro da sobreposição para um servidor OpenLDAP 2.4 existente. Agora quero atualizar os objetos de usuário existentes.

Para novas associações de grupo, o atributo memberOf é atualizado corretamente. Mas eu tenho um monte de grupos existentes que não são atualizados automaticamente. Eu poderia remover todos os usuários de seus grupos e adicioná-los novamente para garantir que essas entradas estejam sincronizadas. Como esse é um Univention Corporate Server que faz muita mágica quando você modifica o LDAP, Eu não quero arriscar quebrar meu diretório.

Existe uma maneira de enganar a sobreposição para atualizar esses atributos operacionais?

    
por mss 14.11.2011 / 18:02

2 respostas

0

A única vez em que a sobreposição de memberOf será ativada é se você modificar um membro em um grupo. Assim, a única maneira de "enganá-lo" para atualizar os atributos memberOf seria, de fato, remover todos os usuários de seus grupos e adicioná-los novamente, conforme sugerido.

Uma alternativa seria usar uma ferramenta externa para sincronizar grupos e entradas de seus membros.

Você pode escrever seu próprio script para isso - algo como "para cada grupo, ler os membros, para cada membro, executar uma operação LDAP de" modificação "para" adicionar "um valor ao atributo memberOf desse membro entrada.

Ou, provavelmente, mais confiável, você poderia usar uma ferramenta como LSC (Conector de Sincronização LDAP) que tem praticamente tudo já feito: você só precisa configurar o mapeamento que você deseja. O truque com o LSC é usar o mesmo servidor LDAP como origem e destino e executar todos os usuários para garantir que o atributo memberOf contenha a lista de grupos resultante da pesquisa de todos os grupos para member =. O site da LSC tem um tutorial para fazer isso , mais ou menos, mas está um pouco desatualizado.

    
por 18.09.2012 / 18:48
0

Acho que executar slapindex resolverá seu problema. Pelo menos parece muito com o que acontece quando você adiciona um novo índice ao seu sistema. Você obtém resultados engraçados, a menos que você execute reindexação em entradas antigas.

Por favor, note que o servidor openldap deve ser interrompido quando você o executa. E você deve executá-lo como slapd user (como openldap) ou executá-lo como root e depois alterar as permissões.

/etc/init.d/slapd stop
slapindex
chown openldap:openldap /var/lib/ldap/*
/etc/init.d/slapd start

ou

/etc/init.d/slapd stop
su - openldap -c  slapindex
/etc/init.d/slapd start

por favor leia as páginas do manual do slapindex antes de executar isto. E isso deve ser seguro, a menos que você tenha banco de dados corrompido. (lembre-se de verificar as permissões de arquivo antes de iniciar)

Comandos como você para e inicia seus serices dependerá do sabor de Os em sua execução.

    
por 15.02.2012 / 16:06

Tags