当我安装OpenLDAP时,我被要求为一个pipe理员用户创build一个密码,但是现在我意识到另外一个pipe理员用户的密码我不知道。 有谁知道我应该如何进行更改或获得该pipe理员密码? 我正在安装新的Ubuntu 13.10。
我需要密码,因为我试图设置sudo-ldap。
我不知道当前的Ubuntu软件包是如何进行初始OpenLDAP设置的,但是在10.04和12.04中,对于cn = config,这个过程并没有很好的解释。 如果设置了你应该在/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldif属性olcRootPW (它可能是base64编码)中find密码。
要更改密码, ldapmodify以root身份使用ldapmodify 。 将其另存为LDIF文件rootpw_cnconfig.ldif :
dn:olcDatabase = {0} config,cn = config
changetype:修改
replace:olcRootPW
olcRootPW:foobar123
注意:为了更改CentOS7上的root密码,使用dn: olcDatabase={2}hdb,cn=config而不是dn: olcDatabase={0}config,cn=config 。
显然设置你的密码foobar123以外的foobar123 。 然后运行ldapmodify :
$ sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f rootpw_cnconfig.ldif
这假定可以使用ldapi协议( -H ldapi:/// )访问LDAP服务器和cn=config数据库,并且启用并正常工作的外部SASLauthentication( -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由* breakpipe理