设为首页 收藏本站
查看: 4767|回复: 0

[经验分享] Openldap修改管理员密码

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-30 09:06:56 | 显示全部楼层 |阅读模式
生产环境中,可能有各种各样的原因,导致openldap的管理账号密码丢失,可能ldap服务和用户都能正常工作或使用,但是由于openldap是底层的用户信息存储目录,如果环境中的众多服务(如OpenVPN、FTP、SVN等)都是基于openldap做认证,那么管理员的账户就显得至关重要了。如何在忘记或丢失ldap管理员密码的情况下找回管理员密码,就跟Linux上找回root密码一样至关重要了,但是我们不能像测试环境一样,随便修改生产环境的配置,而且往往这种问题也需要在第一时间解决,下面给出我在CentOS 6.5上找回OpenLDAP 2.4的管理员密码的方法。
我们知道在安装openldap时,只需要使用slappasswd命令生成密码,然后将密码写入slapd.conf文件中去,所以理所应当的以为直接使用slappasswd重新生成密码,然后替换slapd.conf中的密码,重启ldap服务,然而这样试了却并未生效,所以该方法行不通。
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@wiki openldap]# slappasswd
New password:
Re-enter new password:
{SSHA}nwQJvVZU/U6nNY2MK4bcdlw7lA7CDGwu
[iyunv@wiki ~]# vi /etc/openldap/slapd.conf
[iyunv@wiki openldap]# /etc/init.d/slapd restart
Stopping slapd: [  OK  ]
Starting slapd: [  OK  ]
[iyunv@wiki openldap]# ldapsearch -x -D "cn=Manager,dc=******,dc=com" -W -b "
"dc=******,dc=com"
Enter LDAP Password:
ldap_bind: Invalid credentials (4)



下面是解决的方法:
1、使用ldapsearch命令查询管理员的dn
1
2
3
4
5
6
7
[iyunv@wiki ~]# ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b  cn=config olcRootDN=cn=Manager,dc=******,dc=com dn olcRootDN olcRootPW
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: olcDatabase={2}bdb,cn=config
olcRootDN: cn=Manager,dc=******,dc=com
olcRootPW: {SSHA}KHwQR1zvWlPASLo+AHkI0gxzbF+KQ1xm



可以看到,这里返回的dn是olcDatabase={2}bdb,cn=config,密码等信息也都一并返回。这里有用的是dn和密码的加密方式,比如这里是SSHA,dn是后面修改的Entry DN,而知道密码的加密方式就可以使用该加密方式生成新密码。
2、使用slappasswd生成密码
1
2
3
4
[iyunv@wiki ~]# slappasswd -h {SSHA}
New password:
Re-enter new password:
{SSHA}vAYFH48G4IfrpD57gTR/DNZqLHWzR+Fg



3、使用ldapmodify修改条目
使用下面的命令来修改管理员条目:
1
ldapmodify -Y EXTERNAL -H ldapi:///



输入上面的命令后会进入到交互模式:
1
2
3
4
[iyunv@wiki ~]# ldapmodify -Y EXTERNAL -H ldapi:///
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0



然后输入修改的条目,也就是第1步中获取到的DN:

dn: olcDatabase={2}bdb,cn=config  #这是第1步获取的管理员dn
replace: olcRootPW
olcRootPW: {SSHA}vAYFH48G4IfrpD57gTR/DNZqLHWzR+Fg #这里是上面slappasswd生成的密码
输入完毕后,按Crtl+D键保存退出交互模式。

1
modifying entry "olcDatabase={2}bdb,cn=config"



如果出现上面的信息,就证明修改成功。
4、重启服务使修改生效

重启slapd服务:
1
2
3
4
5
6
7
8
9
/etc/init.d/slapd restart
ldapsearch -x -D "cn=Manager,dc=******,dc=com" -W -b "dc=******,dc=com"
Enter LDAP Password:
####这里省略返回结果内容#####
# search result
search: 2
result: 0 Success
# numResponses: 32
# numEntries: 31



到此,成功修改openldap的管理员密码,留下修改过程以待下次参考。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-279420-1-1.html 上篇帖子: Centos 7开机自动启动脚本 下篇帖子: Linux系统启动流程、内核及模块管理 管理员 密码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表