Je ne sais pas comment les packages Ubuntu actuels effectuent la configuration initiale d'OpenLDAP, mais dans les versions 10.04 et 12.04, ce processus ne tenait pas très bien compte de cn=config. S'il est défini, vous devriez trouver le mot de passe dans l'attribut olcRootPW en /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif (c'est probablement encodé en base64).
Pour changer le mot de passe, utilisez ldapmodify en tant que racine. Enregistrez ceci en tant que fichier LDIF rootpw_cnconfig.ldif :
dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: foobar123
Remarque : Pour changer le mot de passe root sur CentOS7, utilisez dn: olcDatabase={2}hdb,cn=config au lieu de dn: olcDatabase={0}config,cn=config .
Évidemment, définissez votre mot de passe sur autre chose que foobar123 . Ensuite, exécutez ldapmodify :
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldif
Cela suppose que le serveur LDAP et le cn=config la base de données est accessible via le protocole ldapi (-H ldapi:/// ) et que l'authentification SASL externe (-Y EXTERNAL ) est activé et fonctionne, ce qui devrait être le cas par défaut sur les nouvelles configurations OpenLDAP dans Debian et Ubuntu. Si vous regardez /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif il doit contenir un attribut olcAccess :
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external
,cn=auth manage by * break