Nevím, jak současné balíčky Ubuntu provádějí počáteční nastavení OpenLDAP, ale jak v 10.04, tak 12.04 tento proces příliš nebral v úvahu cn=config. Pokud je nastaveno, měli byste heslo najít v atributu olcRootPW
v /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
(pravděpodobně je kódován base64).
Pro změnu hesla použijte ldapmodify
jako kořen. Uložte to jako soubor LDIF rootpw_cnconfig.ldif
:
dn: olcDatabase={0}config,cn=config changetype: modify replace: olcRootPW olcRootPW: foobar123
Poznámka: Chcete-li změnit heslo uživatele root na CentOS7, použijte dn: olcDatabase={2}hdb,cn=config
místo dn: olcDatabase={0}config,cn=config
.
Samozřejmě nastavte heslo na něco jiného než foobar123
. Poté spusťte ldapmodify
:
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldif
To předpokládá, že server LDAP a cn=config
k databázi lze přistupovat pomocí protokolu ldapi (-H ldapi:///
) a toto externí ověřování SASL (-Y EXTERNAL
) je povoleno a funguje, což by mělo ve výchozím nastavení v nových nastaveních OpenLDAP v Debianu a Ubuntu. Pokud se podíváte na /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
měl by obsahovat atribut olcAccess
:
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth manage by * break