相关技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > 相关技巧 > Jenkins重置管理员密码

Jenkins如何重置管理员密码

作者:cly1

本文介绍了当Jenkins管理员忘记密码且无法通过常规方式恢复时,的一种临时解决方案,包括备份配置文件、编辑Jenkins配置文件、重启服务、重置密码等步骤,但需注意此操作仅作临时处理,存在安全风险

适用场景:忘记 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)

可选:勾选 允许用户注册(Allow users to sign up)

3、保存配置。

4、返回 系统管理 → 用户管理(Manage Users)

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

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

步骤四:恢复安全配置

为保障系统安全,必须重新启用认证和授权策略:

进入 系统管理 → 全局安全配置

安全域(Security Realm):保持为 Jenkins 专有用户数据库

授权策略(Authorization):根据环境选择:

勾选 拒绝匿名用户读取访问(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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文