Si hemos perdido u olvidado la contraseña del «Directory Manager» en OpenDJ LDAP, la forma más rápida de volver a tener acceso de administrador es resetear o regenerar la password en lugar de intentar recuperarla.
Para regenerar la contraseña debemos parar el servicio de OpenDJ:
# /etc/init.d/opendj stop
Si no disponéis de script de arranque en /etc/init.d/, lo paráis del siguiente modo:
# $OPENDJ_HOME/bin/stop-ds
OpenDJ cuenta con una herramienta llamada «encode-password» que permite cifrar la contraseña que le pasemos en claro, especificando el StorageScheme con el que queramos cifrar y almacenar la contraseña:
# $OPENDJ_HOME/bin/encode-password -s SSHA512 -c NUEVA_PASSWORD Encoded Password: "{SSHA512}8FtazwsEzaV59X6Tn4APEsqZ5QrdW2WRRbatyHWODxPAm0E35Tpik808E9SpnlS7fSwAJZUG/KiZMEOD+C9LGpUBWZZDE1j7"
Como tenemos el servidor de OpenDJ detenido, podemos sustituir la contraseña almacenada en el archivo de configuración config.ldif por la nueva y después, al reiniciar el servicio ya podremos acceder con la nueva password:
La entrada en la que tenemos que modificar el atributo userpassword es la del «Directory manager»:
dn: cn=Directory Manager,cn=Root DNs,cn=config objectClass: person objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: ds-cfg-root-dn-user objectClass: top userpassword: {SSHA512}8FtazwsEzaV59X6Tn4APEsqZ5QrdW2WRRbatyHWODxPAm0E35Tpik808E9SpnlS7fSwAJZUG/KiZMEOD+C9LGpUBWZZDE1j7 givenName: Directory cn: Directory Manager ds-cfg-alternate-bind-dn: cn=Directory Manager sn: Manager ds-pwp-password-policy-dn: cn=Root Password Policy,cn=Password Policies,cn=config ds-rlim-time-limit: 0 ds-rlim-lookthrough-limit: 0 ds-rlim-idle-time-limit: 0 ds-rlim-size-limit: 0
Una vez realizado, iniciamos OpenDJ:
# /etc/init.d/opendj start
Si no disponéis de script de arranque en /etc/init.d/, lo arrancáis del siguiente modo:
# $OPENDJ_HOME/bin/start-ds
Ya deberíais poder acceder con la nueva contraseña
# $OPENDJ_HOME/bin/dsconfig -h localhost -D "cn=Directory Manager" Password for user 'cn=Directory Manager': NUEVA_PASSWORD