LaoBlog

Promemoria: modificare la configurazione di Openldap su Debian Wheezy


Come da titolo, solo un paio di comandi sparsi: Unknown LDAP cn=config admin password / modificare la password (ignota) di cn=configfind 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: foobar123Obviously set your password to something other than foobar123. Then run ldapmodify:$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldifThis 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 * breakSenza 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 olcLoglevelEssa restituisce il livello di log del demone slapdAnalogamente, 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 startslapcat -n0 -F /etc/ldap/slapd.d > config.ldifQuindi modifico il file config.ldif come desidero, utilizzando per esempio l'editor vi (oppure gedit, kwrite, leafpad....)vi config.ldifUna volta terminato eseguire i comandi:mkdir /etc/ldap/slapd.d.newslapadd -n0 -F new/slapd.d -l config.ldifAbbiamo 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 startSe tutto è andato bene, il demone di openldap riparte con le modifiche desiderate.