Come da titolo, solo un paio di comandi sparsi:
Unknown LDAP cn=config admin password / modificare la password (ignota) di cn=config
find the password in the attribute olcRootPW
in /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
(it's probably base64 encoded).
To change the password use ldapmodify
as root. Save this as an LDIF file rootpw_cnconfig.ldif
:
dn: olcDatabase={0}config,cn=configchangetype: modifyreplace: olcRootPWolcRootPW: foobar123
Obviously set your password to something other than foobar123
. Then run ldapmodify
:
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldif
This presumes that the LDAP server and the cn=config
database can be accessed using the ldapi protocol (-H ldapi:///
) and that external SASL authentication (-Y EXTERNAL
) is enabled and working, which it should by default on new OpenLDAP setups in Debian and Ubuntu. If you look at /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
it should contain an attribute olcAccess
:
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth manage by * break
Senza la password di cn=config, non è possibile eseguire diverse operazioni con ldapsearch, ldapmodify, ecc.
Ora che la password è stata cambiata, possiamo verificare il funzionamento di ldapsearch con questa query, ad es:
ldapsearch -Y EXTERNAL -H ldapi:/// -b 'cn=config' -D 'cn=config' -s base -LLL -W olcLoglevel
Essa restituisce il livello di log del demone slapd
Analogamente, ldapmodify dovrebbe funzinare usando -D 'cn=config':
ldapmodify -Y EXTERNAL -H ldapi:/// -D 'cn=config' -W -f miofiledainserire.ldif
(in realtà a me non è andato, probabilmente perché miofiledainserire.ldif non era scritto nel modo corretto)
Un'alternativa per modificare l'albero di ldap, invece di usare il suddetto macchinoso sistema, potrebbe essere il seguente (non ancora testato):
service slapd start
slapcat -n0 -F /etc/ldap/slapd.d > config.ldif
Quindi modifico il file config.ldif come desidero, utilizzando per esempio l'editor vi (oppure gedit, kwrite, leafpad....)
vi config.ldif
Una volta terminato eseguire i comandi:
mkdir /etc/ldap/slapd.d.new
slapadd -n0 -F new/slapd.d -l config.ldif
Abbiamo creato una nuova cartella per slapd, dove applicare le nostre modifiche. Ora non resta che copiare per sicurezza la vecchia configurazione, rinominare il tutto e far ripartire il servizio:
service slapd stopmv /etc/ldap/slapd.d /etc/ldap/slapd.d.oldmv /etc/ldap/slapd.d.new /etc/ldap/slapd.dchown -R openldap:openldap /etc/ldap/slapd.dservice slapd start
Se tutto è andato bene, il demone di openldap riparte con le modifiche desiderate.
![](http://blog.libero.it/blog/pics/emoticons/033.gif)
Inviato da: cassetta2
il 23/08/2019 alle 12:59