A documentação do OpenLDAP fornece um código de exemplo na FAQ , que você pode usar para criar scripts em sua linguagem de script favorita para converter senhas de texto simples em SSHA.
Observação: Por favor, não use o mesmo sal para todos os seus usuários.
Exporte (partes de) seu diretório para o diretório no formato LDIF com o slapcat e faça o script!
Para um pequeno número de senhas em texto simples, você pode simplesmente gerar um LDIF para atualizá-las:
dn: cn=Alice, ou=Users, o=example, c=com
changetype: modify
replace: userPassword
userPassword: {SSHA}xxxxxxxxxxxxxxxx
dn: cn=Bob, ou=Users, o=example, c=com
changetype: modify
replace: userPassword
userPassword: {SSHA}abcabcabcbacbabcabc
Você pode querer criar um servidor de teste e comparar o tempo de atualização com um LDIF. AFAIK não há índices no campo de senha, portanto, o desempenho pode ser suficiente para seus propósitos, mas normalmente a interface LDAP é relativamente lenta (e ainda mais lenta quando muitos índices também precisam ser atualizados). Uma das vantagens é que usar um LDIF seguirá sua estrutura de replicação.
Tipicamente, modificar o banco de dados no estado off-line é muito mais rápido. Novamente, faça uma exportação com o slapcat, converta os campos de texto claro userPassword:
no LDIF resultante e use slappadd
para recarregá-lo. Talvez com -q
e -s
alterna. O quão bem isso se mistura com a replicação (multi-master), depende um pouco da sua abordagem pretendida.
Este Q & A pode ser de interesse para decidir sobre uma abordagem também.