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,仅用于临时恢复,请勿长期保留。
  • sudo systemctl restart jenkins 等待服务启动后,直接访问 Jenkins Web 界面(如 http://<your-jenkins-url>),此时无需登录即可进入系统。
  • 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
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: Jenkins中修改admin账号密码的正确位置与方法步骤 Jenkins忘记密码密码重置操作步骤详解 Linux安装Jenkins步骤及各种问题解决(页面访问初始化密码) Linux下Jenkins忘记密码的操作步骤
  • 目录
    • 步骤一:备份并临时关闭 Jenkins 安全认证
    • 步骤二:重启 Jenkins 服务
    • 步骤三:重置 admin 用户密码
    • 步骤四:恢复安全配置
    • 恢复备份(可选)
    • 总结

    适用场景:忘记 Jenkins 管理员(admin)密码,且无法通过正常方式恢复。

    重要提示:操作前务必备份配置,避免配置丢失导致服务异常。

    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,仅用于临时恢复,请勿长期保留。

    sudo systemctl restart jenkins
    

    等待服务启动后,直接访问 Jenkins Web 界面(如 http://<your-jenkins-url>),此时无需登录即可进入系统。

    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
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

    您可能感兴趣的文章:

    • Jenkins中修改admin账号密码的正确位置与方法步骤
    • Jenkins忘记密码密码重置操作步骤详解
    • Linux安装Jenkins步骤及各种问题解决(页面访问初始化密码)
    • Linux下Jenkins忘记密码的操作步骤

    站内搜索