Jenkins重置管理员密码

Jenkins重置管理员密码操作指南

适用场景 :忘记 Jenkins 管理员(admin)密码,且无法通过正常方式恢复。
重要提示:操作前务必备份配置,避免配置丢失导致服务异常。


步骤一:备份并临时关闭 Jenkins 安全认证

  1. 备份原始配置文件(强烈推荐)

    使用 cp -a 保留权限、时间戳等属性:

    bash 复制代码
    sudo cp -a /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.bak.$(date +%Y%m%d)

    示例备份文件名:config.xml.bak.20260117

  2. 编辑 Jenkins 主配置文件

    bash 复制代码
    sudo vim /var/lib/jenkins/config.xml
  3. 移除安全域配置(Security Realm)

    删除以下内容:

    xml 复制代码
    <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
      <disableSignup>true</disableSignup>
      <enableCaptcha>false</enableCaptcha>
    </securityRealm>
  4. 移除授权策略(Authorization Strategy)

    删除以下内容:

    xml 复制代码
    <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
      <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
    </authorizationStrategy>

    ⚠️ 此操作将允许匿名访问 Jenkins,仅用于临时恢复,请勿长期保留。


步骤二:重启 Jenkins 服务

bash 复制代码
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) 字段中输入新密码,保存。


步骤四:恢复安全配置

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

  1. 进入 系统管理 → 全局安全配置
  2. 安全域(Security Realm) :保持为 Jenkins 专有用户数据库
  3. 授权策略(Authorization) :根据环境选择:
    • 开发/测试:登录用户可以做任何事(Logged-in users can do anything)
    • 生产环境:建议使用 基于角色的策略(Role-Based Strategy) (需安装 Role Strategy Plugin
  4. 勾选 拒绝匿名用户读取访问(Prevent anonymous read access)(如需要)

✅ 此时 Web 界面配置会自动更新 config.xml,无需手动编辑。


恢复备份(可选)

若操作失败或需回滚,可使用备份恢复:

bash 复制代码
sudo cp -a /var/lib/jenkins/config.xml.bak.20260117 /var/lib/jenkins/config.xml
sudo systemctl restart jenkins

相关推荐
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站1 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏1 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅1 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼1 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘1 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
需要8261 天前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
懂软件的胡子个哥1 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
云贝贝贝1 天前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云