Non so come gli attuali pacchetti Ubuntu eseguano la configurazione iniziale di OpenLDAP, ma sia in 10.04 che in 12.04 quel processo non ha tenuto molto bene conto di cn=config. Se impostata dovresti trovare la password nell'attributo olcRootPW
in /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
(probabilmente è codificato in base64).
Per cambiare la password usa ldapmodify
come radice. Salvalo come file LDIF rootpw_cnconfig.ldif
:
dn: olcDatabase={0}config,cn=config changetype: modify replace: olcRootPW olcRootPW: foobar123
Nota: Per cambiare la password di root su CentOS7 usa dn: olcDatabase={2}hdb,cn=config
invece di dn: olcDatabase={0}config,cn=config
.
Ovviamente imposta la tua password su qualcosa di diverso da foobar123
. Quindi esegui ldapmodify
:
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldif
Ciò presuppone che il server LDAP e il cn=config
è possibile accedere al database utilizzando il protocollo ldapi (-H ldapi:///
) e l'autenticazione SASL esterna (-Y EXTERNAL
) è abilitato e funzionante, cosa che dovrebbe essere per impostazione predefinita nelle nuove configurazioni OpenLDAP in Debian e Ubuntu. Se guardi /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
dovrebbe contenere un attributo olcAccess
:
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth manage by * break