Jenkins如何重置管理员密码

 更新时间:2026年04月17日 09:47:57   作者: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)

  • 安全域(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

总结

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

相关文章

  • Git推送代码的7种高效方式

    Git推送代码的7种高效方式

    在 Git 中,推送代码(即将本地提交推送到远程仓库)有多种方式,每种方式适用于不同的协作场景和需求,以下是几种常见的推送代码的方式、结合完整示例说明,并以表格形式总结对比,需要的朋友可以参考下
    2025-08-08
  • Git报错:fatal:refusing to merge unrelated histories问题解决过程

    Git报错:fatal:refusing to merge unrelated histories问题解决过程

    本文作者分享了因误删.git文件夹而引发的Git报错解决过程,作者尝试重新初始化仓库并拉取代码,但遭到了Git的拒绝,作者认为正确的做法是重新克隆代码库,以保留完整的提交历史记录,本文提醒我们要重视Git的历史记录机制及其重要性
    2026-04-04
  • 大型网站架构演变和知识体系

    大型网站架构演变和知识体系

    之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变
    2009-01-01
  • 风中叶老师讲述的学习方法(学习编程的朋友需要看)

    风中叶老师讲述的学习方法(学习编程的朋友需要看)

    风中叶老师讲述的学习方法(学习编程的朋友需要看),希望大家能按照说明的那样,自己多动手动脑
    2008-10-10
  • 如何在vscode中正确使用正则表达式进行文档内容的替换编辑

    如何在vscode中正确使用正则表达式进行文档内容的替换编辑

    正则表达式是一种强大的模式匹配工具,它具有广泛的应用,包括数据清洗、文本处理、文件搜索等方面,这篇文章主要给大家介绍了关于如何在vscode中正确使用正则表达式进行文档内容的替换编辑,需要的朋友可以参考下
    2023-12-12
  • linux 部署apache服务的步骤

    linux 部署apache服务的步骤

    这篇文章主要介绍了linux部署apache服务的步骤,部署apache服务的步骤本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 自己的vscode-settings.json配置详解

    自己的vscode-settings.json配置详解

    这篇文章主要介绍了自己的vscode-settings.json配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 详解秒杀系统设计的5个要点

    详解秒杀系统设计的5个要点

    这篇文章主要为大家介绍了秒杀系统设计的5个要点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Git基础学习之tag标签操作详解

    Git基础学习之tag标签操作详解

    标签对象(tag object) 非常类似于一个提交对象,它包含一个标签创建者信息、一个日期、一段注释信息,以及一个指针。本文主要介绍了Git标签tag的一些基础操作,需要的可以参考一下
    2022-10-10
  • 解决MAC系统升级后虚拟机黑屏问题

    解决MAC系统升级后虚拟机黑屏问题

    相信大家都抱着尝鲜的心理,更新了MacOS Catalina 。在更新之后,打开VMware Fusion使用中发现,虚拟机处于黑屏状态,无法看到虚拟机的屏幕,在各种尝试之后,找到一种正确的解决办法
    2021-09-09

最新评论