Jenkins如何重置管理员密码
作者:cly1
适用场景:忘记 Jenkins 管理员(admin)密码,且无法通过正常方式恢复。
重要提示:操作前务必备份配置,避免配置丢失导致服务异常。
步骤一:备份并临时关闭 Jenkins 安全认证
1、备份原始配置文件(强烈推荐)
使用 cp -a 保留权限、时间戳等属性:
sudo cp -a /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.bak.$(date +%Y%m%d)
示例备份文件名:config.xml.bak.20260117
2、编辑 Jenkins 主配置文件
sudo vim /var/lib/jenkins/config.xml
3、移除安全域配置(Security Realm)
删除以下内容:
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm"> <disableSignup>true</disableSignup> <enableCaptcha>false</enableCaptcha> </securityRealm>

4、移除授权策略(Authorization Strategy)
删除以下内容:
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"> <denyAnonymousReadAccess>true</denyAnonymousReadAccess> </authorizationStrategy>
⚠️ 此操作将允许匿名访问 Jenkins,仅用于临时恢复,请勿长期保留。

步骤二:重启 Jenkins 服务
sudo systemctl restart jenkins
等待服务启动后,直接访问 Jenkins Web 界面(如 http://<your-jenkins-url>),此时无需登录即可进入系统。
步骤三:重置 admin 用户密码
1、进入 系统管理(Manage Jenkins)

2、点击 全局安全配置(Configure Global Security)
- 在 安全域(Security Realm) 部分,选择:
- Jenkins 专有用户数据库(Jenkins’ own user database)

可选:勾选 允许用户注册(Allow users to sign up)
3、保存配置。
4、返回 系统管理 → 用户管理(Manage Users)

5、找到 admin 用户,点击 设置(Configure)

6、在 密码(Password) 字段中输入新密码,保存。

步骤四:恢复安全配置
为保障系统安全,必须重新启用认证和授权策略:
进入 系统管理 → 全局安全配置
安全域(Security Realm):保持为 Jenkins 专有用户数据库
授权策略(Authorization):根据环境选择:
- 开发/测试:登录用户可以做任何事(Logged-in users can do anything)
- 生产环境:建议使用 基于角色的策略(Role-Based Strategy)(需安装 Role Strategy Plugin)
勾选 拒绝匿名用户读取访问(Prevent anonymous read access)(如需要)
此时 Web 界面配置会自动更新 config.xml,无需手动编辑。

恢复备份(可选)
若操作失败或需回滚,可使用备份恢复:
sudo cp -a /var/lib/jenkins/config.xml.bak.20260117 /var/lib/jenkins/config.xml sudo systemctl restart jenkins
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
