centos7下Jenkins管理员admin密码忘记后处理方法

centos7下Jenkins管理员admin密码忘记后处理方法
1.环境描述

centos7下一套gitlab+Jenkins持续集成CI环境,运行稳定,却出现了admin密码忘记

2.一般初始密码

通常情况下,在初始化完成后的Jenkins环境中,初始密码在/var/lib/jenkins/secrets/initialAdminPassword下直接cat就能看到,然后根据提示登陆即可

3.正常运行后的密码

要是登录后,还正常运行过的环境,这个文件已经不存在了,这个时候密码在/var/lib/jenkins/users下有个admin开头的文件,默认可能是/var/lib/jenkins/users/admin_6854960077009622281/config.xml的一个文件,cat可以查看到<passwordHash>#jbcrypt:$2a$10$5IOG8aCAHLW3aiEm1BvYjOXThRmBqAFZHD1texm.fY6TM4xGY9Dl2</passwordHash>
一段被加密的密码字符串,不过貌似只能看看而已,哈哈
那如何破解密码呢?如下
密码环境配置在/var/lib/jenkins/config.xml

4.备份/var/lib/jenkins/config.xml文件

cp /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.bak #用来后边再恢复配置

5.修改config.xml文件下密码环境配置

vim /var/lib/jenkins/config.xml   #删除如下代码段,对,是删除,不是注释,注释没用的,后边会自动恢复被注释,起不到修改效果  <useSecurity>true</useSecurity>  <authorizationStrategy >    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>  </authorizationStrategy>  <securityRealm >    <disableSignup>true</disableSignup>    <enableCaptcha>false</enableCaptcha>  </securityRealm>

#systemctl restart jenkins

6.启用安全模式

6.1再次登录Jenkins页面的时候,发现已经不需要登录了,可以直接进入页面,并且是管理员权限


勾选启用安全->选择Jenkins自有数据库->保存
6.2修改admin密码
用户列表

admin->设置

填写新密码->保存

7.恢复/var/lib/jenkins/config.xml文件

cp /var/lib/jenkins/config.xml.bak /var/lib/jenkins/config.xml
cp:是否覆盖"/var/lib/jenkins/config.xml"? yes
systemctl restart jenkins

8.发现了久违的登录页面


关键是用admin和刚修改的密码可以登录了
至此,Jenkins用户admin密码恢复完成

推荐阅读