未知的 LDAP cn=config 管理员密码

per*_*ris 8 linux openldap password ldap

当我安装 OpenLDAP 时,我被要求为管理员用户创建密码,但现在我意识到还有另一个管理员用户cn=config的密码我不知道。有谁知道我应该如何更改或获取该管理员密码?我正在安装全新的 Ubuntu 13.10。

我需要那个密码,因为我正在尝试设置 sudo-ldap。

daf*_*aff 12

我不知道当前的 Ubuntu 软件包如何进行初始 OpenLDAP 设置,但在 10.04 和 12.04 中,该过程对 cn=config 的影响不大。如果设置,您应该在属性olcRootPW中找到密码/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif(它可能是 base64 编码的)。

要更改密码,请ldapmodify以 root 身份使用。将其另存为 LDIF 文件rootpw_cnconfig.ldif

dn: olcDatabase={0}config,cn=config
更改类型:修改
替换:olcRootPW
olcRootPW: foobar123

注:为了改变CentOS7使用root密码dn: olcDatabase={2}hdb,cn=config代替dn: olcDatabase={0}config,cn=config

显然,将您的密码设置为foobar123. 然后运行ldapmodify

$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldif

这假定cn=config可以使用 ldapi 协议 ( -H ldapi:///)访问LDAP 服务器和数据库,并且外部 SASL 身份验证 ( -Y EXTERNAL) 已启用并正常工作,默认情况下,在 Debian 和 Ubuntu 中的新 OpenLDAP 设置中应该是这样。如果你看/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif它应该包含一个属性olcAccess

olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external
  ,cn=auth manage by * break