LDAP Violation de Contrainte Lors du Changement de Mot de passe dans ANNONCE par le biais de la commande ldapmodify

Actuellement, j'essaie de changer les mots de passe dans Active Directory Envoirenment via LDAP sous Linux car les utilisateurs en question n'ont pas accès à une machine et nous voulons continuer dans cette voie.
Pour changer le mot de passe je suis actuellement coincé trouver comment utiliser la commande ldapmodify de le faire. Après beaucoup de lecture sur les différents sites/forums/groupes de discussion, je suis beaucoup plus confus qu'avant

Cependant:
J'ai essayer la commande suivante:

ldapmodify -f ldif.example -H ldaps://lab01-dc01.example.com -D 'CN=test,CN=users,DC=lab01,DC=example,DC=com' -x -W

Le contenu de la ldif.exemple:

dn: CN=test,CN=Users,DC=lab01,DC=example,DC=com
changetype: modify
delete: unicodePwd
unicodePwd:: V3VQdXV1STEyLg==
-
add: unicodePwd
unicodePwd:: QmxhVVVraTEyLg==
-

(Ne vous inquiétez pas, ces mots de passe ne sont pas utilisées n'importe où et il n'est pas une production envoirenment)

Maintenant à chaque fois que j'execute la commande j'obtiens l'erreur suivante:

modifying entry CN=test,CN=Users,DC=lab01,DC=example,DC=com"
ldapmodify: Constraint violation (19)
 additional info: 0000216C: AtrErr: DSID-03190EB0, #1:
 0: 0000216C: DSID-03190EB0, problem 1005 (CONSTRAINT_ATT_TYPE), data 0, Att 9005a (unicodePwd)

Maintenant, d'après ce que j'ai lu la raison de cette erreur est que le mot de passe est mal formaté ou que la stratégie de mot de passe n'autorise pas le mot de passe que j'ai utilisé. J'ai vérifié la politique - plusieurs fois - et le nouveau mot de passe vraiment conforme à la politique par tous les critères. Si j'ai mis le mot de passe à l'aide d'un Windows-machine, il fonctionne aussi très bien (bien sûr j'ai changé le "oldpassword" et "newpassword" par la suite car je ne suis pas autorisé par la politique de changement à une version antérieure du mot de passe). Le mot de passe je entrer après le passage de la "-W" option à la commande ldapmodify est aussi certainement le droit, sinon l'erreur cracher par la commande ldapmodify est que j'ai utilisé des informations d'identification non valides au lieu d'une violation de contrainte.
- La seule raison pour laquelle je peux penser à est en effet un mauvais formaté par mot de passe mais je ne peux pas trouver où la mauvaise mise en forme doit venir à depuis que j'ai utiliser la normale en base64 de l'algorithme pour encoder le mot de passe.

Quelqu'un a une idée de ce qui se passe?
Quelqu'un peut-il me pousser dans la bonne direction?

De l'aide est très apprécié et je vous en remercie d'avance.

Edit:
Quelque chose qui me chiffonne:
Lorsque j'exécute la base de chaînes codées par base64 il me dit "Invalid Input". Maintenant - je suis allé de l'avant et viens de re-codé les mots de passe avec l'utilisation de base64 sur la machine linux - mais quand je lance le générés chaîne à travers le décodage de la fonction de nouveau, base64 me dit "Invalid Input"... Les cordes cependant légèrement changé entre les fenêtres-chaîne encodée en base64 et linux chaîne codée. Mais en base64 juste dit "Invalid input" peu importe ce que je mets là-dedans.

Edit2:
Passons sur la lecture de la fin de la fonction, je suppose que c'génère cette erreur à cause de la points et le point d'exclamation dans le mot de passe.

Je ne suis pas sûr que vous devriez faire de l'encodage à tous. Le serveur LDAP doit le faire. Essayez de fournir à la fois les mots de passe en texte clair.
Oui, en effet - sans codage du mot de passe, il semble bien fonctionner. Comme je l'ai dit: j'ai beaucoup lu sur ce sujet et tout ce que j'ai lu m'a proposé de la pour utiliser une chaîne codée pour modifier le mot de passe. Évidemment, ce n'est pas tout à fait vrai. Merci!

OriginalL'auteur henryford | 2012-04-03