Eu não sei como os pacotes atuais do Ubuntu fazem a configuração inicial do OpenLDAP, mas ambos em 10.04 e 12.04 esse processo não conta muito bem para cn = config. Se definido, você deve encontrar a senha no atributo olcRootPW
em /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
(provavelmente codificado em base64).
Para alterar a senha, use ldapmodify
como root. Salve isso como um arquivo LDIF rootpw_cnconfig.ldif
:
dn: olcDatabase={0}config,cn=config changetype: modify replace: olcRootPW olcRootPW: foobar123
Nota: Para alterar a senha de root no CentOS7, use dn: olcDatabase={2}hdb,cn=config
em vez de dn: olcDatabase={0}config,cn=config
.
Obviamente, defina sua senha para algo diferente de foobar123
. Em seguida, execute ldapmodify
:
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldif
Isso presume que o servidor LDAP e o banco de dados cn=config
possam ser acessados usando o protocolo ldapi ( -H ldapi:///
) e que a autenticação externa SASL ( -Y EXTERNAL
) esteja habilitada e funcionando, o que deve ser padrão no novo OpenLDAP configurações no Debian e no Ubuntu. Se você olhar para /etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif
, ele deve conter um atributo olcAccess
:
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth manage by * break