2016-12-18 1 views
1

Je suis à la recherche d'un moyen de mettre à jour l'entrée DN d'un utilisateur de ceci:Mise à jour de DN d'un utilisateur d'utiliser le CN à l'aide UID

dn: cn=Super,ou=Prod,ou=clients,dc=test,dc=com 

à ceci:

dn: uid=SuperUID,ou=Prod,ou=clients,dc=test,dc=com 

Étant donné que mon répertoire a plusieurs ou plusieurs, et certains utilisent déjà l'attribut UID dans leur DN, donc je dois mettre à jour seulement ce ou. De plus, mon serveur ldap utilise openDJ.

J'ai cherché ici et ailleurs mais je n'ai pas trouvé de réponse de travail.

Je continue à obtenir cette erreur:

Result Code: 65 (Object Class Violation) 
Additional Information: The modify DN operation for entry [...] cannot be performed because the change would have violated the server schema: Entry [...] violates the Directory Server schema configuration because it is missing attribute cn which is required by objectclass person 

Je comprends (bien, en quelque sorte) que cette erreur me dit, mais je ne peux pas trouver mon chemin autour de cela pour résoudre mon problème ...

Merci

Répondre

2

Vous devez utiliser ModDN pour renommer une entrée. Mais pour que l'entrée reste compatible avec le schéma (lorsque vous modifiez l'attribut de dénomination), vous devez conserver la valeur précédente. Le changement suivant fonctionnera:

ldapmodify -D cn=directory\ manager -w password -h localhost -p 1389 

dn: cn=Super,ou=Prod,ou=clients,dc=test,dc=com 
changetype: moddn 
newrdn: uid=SuperUID 
deleteoldrdn: false 

Vous pouvez ensuite modifier l'attribut cn pour modifier sa valeur, à l'aide d'une opération de modification.

+0

Merci Ludovic, j'aurais dû essayer de mettre le deleteoldrdn à 0 .... – Pier