Jenkins系列-Jenkins忘记密码的修复方法

找回 admin 用户的密码后,可以登录系统修改其他用户的密码。

1. Jenkins 目录结构

Jenkins 没有使用数据库,所有的信息都保存在 JENKINS_HOME 目录下的文件中。其中 JENKINS_HOME 目录:

Linux 下通常是 /var/lib/jenkins 或 /var/jenkins_home
Windows 下通常是 C:\Users\[用户名]\.jenkins
通过 Docker 安装时,JENKINS_HOME 目录和启动容器时指定的卷相关。例如 -v /home/demo/jenkins:/var/jenkins_home 参数中,JENKINS_HOME 目录是 Docker 宿主机的 /home/demo/jenkins 目录。

2. admin 密码密文

Jenkins 中所有的用户信息都保存在 JENKINS_HOME 目录下的 users 目录中,每个用户对应一个目录。对应 admin 用户,可以查看 users/admin/config.xml 文件,其中 passwordHash 字段中 #jbcrypt: 后面的部分就是密码经过 hash 加密后的密文。

我们可以将其修改为

#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq

上面这个段加密的是123456,如果不想有错误发现,建议上面disableSignup的配置改成false先试下。

然后我们保存文件,重启jenkins使用admin/123456登录即可。

3. admin 密码明文

JENKINS_HOME 目录中的 /secrets/initialAdminPassword 文件明文保存 admin 用户的密码,直接查看即可。下面例子中的 JENKINS_HOME 需要替换为你实际的目录。

cat JENKINS_HOME/secrets/initialAdminPassword

posted @ 2018-12-07 12:40  圆圆测试日记  阅读(5225)  评论(1编辑  收藏  举报