Como copiar uma entrada LDAP e toda a subárvore em um servidor Linux / openldap?

1

Eu quero duplicar uma subárvore LDAP: meu software usa

ou=software,o=company,c=fr

e eu quero ter a versão 2 do software para usar

ou=software_v2,o=company,c=fr

Eu tentei JXplore para copiar a árvore, o que é bom para o servidor de desenvolvimento, mas eu preciso para o mesmo no servidor de produção, que está em um datacenter.

Existe algum comando openldap, algum script para fazer isso, ou devo criá-lo?

Cumprimentos,
Cédric

    
por Cédric Girard 27.07.2010 / 18:19

2 respostas

3

Provavelmente, a melhor maneira de lidar com isso é exportar a subárvore em questão para um arquivo LDIF, ajustar o arquivo para alterar os DNs para serem o que você precisa, importar o arquivo LDIF para o ambiente de produção. Existem várias maneiras de criar o arquivo LDIF, com ldapsearch sendo o mais disponível. O comando necessário para obter o arquivo LDIF pode variar dependendo do servidor LDAP em uso, mas deve ser algo semelhante a isso.

ldapsearch -b ou=software,o=company,c=fr -s sub -h host.ldap.server > software.ldif

Isso pressupõe que você não precisa efetuar login. Saída de tubulação para um arquivo. Você pode então abrir o arquivo em qualquer ferramenta que desejar e alterar todas as ocorrências de "ou = software, o=" para "ou = software_v2, o=". Isso pode ser usado para importar.

ldapadd -a -h host.ldap.server -f software.ldif

O uso de TLS, os logins e as portas estranhas exigirão opções diferentes em ambos os comandos, mas isso deve pelo menos ajudá-lo.

(Edit) Esses campos são codificados em base64. O que você cita nos comentários tem "Côte d'Azur" no DN. Uma maneira de chegar ao texto real é:

  1. Copie o DN para um arquivo de texto simples, encode-old.txt
  2. Pipe através do comando base64, base64 -d encode-old.txt > decoded.txt
  3. Faça as alterações necessárias no arquivo decode.txt
  4. Envie de volta pelo comando base64, base64 decoded.txt > encode-new.txt

Obviamente, isso não vai escalar tão bem, mas mostra como chegar ao texto real. O processamento do arquivo .ldif com sed / awk ou perl para fazer as alterações necessárias programaticamente é provavelmente o melhor possível.

    
por 27.07.2010 / 18:34
1

Embora você já tenha marcado a resposta do sysadmin1138 como "reply", ainda quero contribuir com minha ideia. Instale "gq" em um sistema, conecte-o com uma conta que tenha privilégios suficientes para o servidor LDAP e simplesmente arraste e solte sua subárvore (ou: "salvar como novo"). É fácil, é rápido e funciona.

gq é um navegador LDAP (com função de edição) que requer um servidor X.

    
por 19.03.2012 / 21:28