当我安装OpenLDAP时,我被要求为管理员用户创建一个密码但现在我意识到还有另一个cn = config的管理员用户我的密码我不知道.有谁知道我应该如何进行更改或获取该管理员密码?我正在安装新的Ubuntu 13.10.
我需要密码,因为我正在尝试设置sudo-ldap.
解决方法
我不知道当前的Ubuntu软件包如何进行初始的OpenLDAP设置,但是在10.04和12.04这个过程对cn = config都没有很好的考虑.如果设置,您应该在/etc/ldap/slapd.d/cn=config/olc
Database={0}config.ldif中的属性olcRootPW中找到密码(它可能是base64编码的).
要更改密码,请使用ldapmodify作为root.将其另存为LDIF文件rootpw_cnconfig.ldif:
dn: olcDatabase={0}config,cn=config changetype: modify replace: 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
这假设可以使用ldapi协议(-H ldapi:///)访问LDAP服务器和cn = config数据库,并且启用并运行外部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