Jenkins 中修改 admin 账号密码的正确位置与方法

Jenkins 中修改 admin 账号密码的正确位置与方法


一、能登录 Web 界面时的推荐做法

  • 进入 Manage Jenkins → Security → Configure Global Security ,确认已启用安全并选择 Jenkins 自有用户数据库(如未启用请先启用并保存)。

  • 进入 People → admin → Configure ,在 Password / Confirm password​ 中填入新密码并保存。

  • 如启用了 矩阵/项目矩阵授权 ,同时给 admin​ 分配相应权限。

  • 说明:Jenkins 的用户凭证保存在 JENKINS_HOME/users/admin/config.xmlpasswordHash 字段中,正常情况下应通过 Web 界面修改,而不是直接改 hash。


二、无法登录时的后台重置步骤(Linux)

  • 备份并临时关闭安全(仅用于恢复)

    1. 备份配置:cp JENKINSH​OME/config.xml∗∗∗∗JENKINS_HOME/config.xml.bak

    2. 编辑:vi $JENKINS_HOME/config.xml ,将 <useSecurity>true</useSecurity> ​ 改为 false;如存在授权策略可同时改为允许登录(如登录用户可做任何事/取消矩阵限制)。

    3. 重启 Jenkins:systemctl restart jenkins(或停止进程后 java -jar jenkins.war 启动)。

  • 在 Web 界面重置密码

    1. 访问首页(此时无需登录);

    2. 进入 Manage Jenkins → Security → Configure Global Security ,勾选 启用安全 ,选择 Jenkins 自有用户数据库​ 并保存;

    3. 进入 People → admin → Configure,设置新密码并保存。

  • 恢复安全配置

    1. $JENKINS_HOME/config.xml ​ 恢复为原始备份(或将 <useSecurity> ​ 改回 true,并保留你的授权策略);

    2. 重启 Jenkins。

  • 提示:Jenkins 主目录常见路径为 /var/lib/jenkins~/.jenkins,请按你的实际路径操作。


三、只改配置文件的安全做法(不推荐,仅在无法登录且上面方法不可行时使用)

  • 定位 admin 的用户配置:cd $JENKINS_HOME/users/admin /config.xml (注意 admin 可能是 admin_xxxxxxxx​ 这种带随机后缀的目录)。

  • 备份该文件后,编辑 <passwordHash> ,将其替换为合法的 **#jbcrypt:**​ 哈希值(可用 jBCrypt 在线/本地生成),保存。

  • 重启 Jenkins 后,使用 admin​ 与新密码登录。

  • 风险与建议:直接改 hash 容易出错且存在安全风险,优先使用"临时关闭安全→Web 重置"的方式。


四、常见问题与提示

  • 找不到 config.xml :常见位置为 /var/lib/jenkins/config.xml ​ 或 ~/.jenkins/config.xml;也可用 find / -name config.xml 查找。

  • 修改后仍进不去:确认 Jenkins 正在使用你编辑的那个 JENKINS_HOME(特别是使用 Tomcat 部署或自定义目录时),并确保目录权限正确。

  • 生产环境务必在操作前备份 JENKINS_HOME,并在完成密码重置后恢复安全策略

相关推荐
二哈赛车手8 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~8 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
abigriver8 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
YDS8299 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
charlie11451419110 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记10 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
未若君雅裁10 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
cen__y10 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记11 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring