A resposta curta
Use o ldapmodify exatamente como faria em uma entrada regular do ldap com atributos de múltiplos valores.
Isso é praticamente o que eu esperava, mas eu não tinha 100% de certeza, devido à indexação {N} que você vê quando executa uma pesquisa do ldap para o esquema.
A resposta longa
Primeiro, encontre o dn do seu esquema. Algo como cn = {4} test, cn = schema, cn = config Em seguida, escreva um arquivo ldif e aplique-o ao seu diretório. No Ubuntu 12.04 eu apliquei como root com:
ldapmodify -Q -Y EXTERNAL -H ldapi:// -f test.ldif
A parte com a qual tive problemas foi a sintaxe de modificação do ldif e o que fazer com os índices {N}.
Então, o início do seu arquivo ldif deve ser algo como:
version: 1
dn: cn={N}test,cn=schema,cn=config
changetype: modify
Para modificar uma objectClass:
delete: olcObjectClasses
olcObjectClasses: <old value>
-
add: olcObjectClasses
olcObjectClasses: <new value>
Para modificar um atributo:
delete: olcAttributeTypes
olcAttributeTypes: <old value>
-
add: olcAttributeTypes
olcAttributeTypes: <new value>
Algumas dicas que descobri sobre a sintaxe:
- Ignore os índices {N} no seu arquivo ldif. Eles são corrigidos automaticamente.
- Você precisa do {N} no DN do seu esquema.
- Lembre-se do ' - ' entre as declarações.
- Não coloque uma nova linha depois do ' - '. ldapmodify para nessa nova linha, então qualquer coisa depois disso não será executada.
- Adicione novos atributos antes de modificar a objectClass para incluí-los.
- Elimine todos os caracteres de tabulação. Eles fazem o sistema produzir bobagens.