赞
踩
环境:Linux,Tomcat8(可选),JDK8
STEP-1. 首先的话我们要先找到 Jenkins 全局配置文件 config.xml(下面提供三种不同安装方式查找配置文件的方法):
方式一:如果不是使用 WAR 进行部署,直接通过命令将 Jenkins 配置成服务
- cd /var/lib/jenkins/
- # 查看 config.xml 文件
- less config.xml
方式二:如果使用的是 Tomcat 部署的 WAR 包,假如 Tomcat 的安装路径是:/usr/local/tomcat8/
- # 去 tomcat 的项目路径
- cd /usr/local/tomcat8/webapps
- # 找到 jenkins 目录
- cd jenkins
- # 查看 config.xml 文件
- less config.xml
方式三:通过 java -jar jenkins.war 方式运行 Jenkins
- # 首先查看运行 Jenkins 的用户
- ps -ef | grep jenkis
- # 显示如下
- roc 21465 1 0 Feb17 ? 00:02:50 java -jar jenkins.war --httpPort=8090 --prefix=/jenkins
- roc 25480 24684 0 11:25 pts/0 00:00:00 grep --color=auto jenkins
- # 前面的 roc 就是运行 Jenkins 的用户,然后进入用户的主目录。
- cd /home/roc # 如果就是当前登录的用户,则可以直接 cd ~
- # 进入 Jenkins 的配置目录(该目录默认是隐藏的)
- cd .jenkins
- # 查看 config.xml 文件
- less config.xml
STEP-2. 在配置文件中找到以下内容:
- <authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
- <!-- 忽略部分代码 -->
- <permission>hudson.model.Computer.Build:authenticated</permission>
- <permission>hudson.model.Hudson.Administer:root</permission>
- <permission>hudson.model.Hudson.Read:authenticated</permission>
- <permission>hudson.model.View.Create:authenticated</permission>
- <permission>hudson.model.View.Delete:authenticated</permission>
- <permission>hudson.model.View.Read:anonymous</permission>
- <permission>hudson.model.View.Read:authenticated</permission>
- <permission>hudson.scm.SCM.Tag:authenticated</permission>
- <!-- 忽略部分代码 -->
- </authorizationStrategy>
最重要的是找到 authorizationStrategy 也就是 Jenkins 的授权策略,然后找到管理员账户权限:<permission>hudon.model.Hudson.Administer:root</permission>
这里的 root 就是管理员的用户名,这里的用户名是在安装 Jenkins 时设置的,也有可能是其他,例如:admin,administrator 之类的。不管是什么用户名都要注意的是使用 hudon.model.Hudson.Administer
标识的都是系统的管理员。
【注】如果 authorizationStrategy 是 hudson.security.FullControlOnceLoggedInAuthorizationStrategy
则任何一个用户都是管理员,直接按第三步操作即可。
- <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
- <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
- </authorizationStrategy>
STEP-3. 修改管理员的登陆密码。
进入存放用户的目录,然后找到以用户名开头的目录(假如管理员的用户名为 root ):
- # Jenkins 存放用户的目录
- cd users
- ls
- # 显示如下:
- test_12345643213456 root_123456765345432 users.xml
- cd root_123456765345432 # 进入该用户的配置目录
- ls
- config.xml # 该用户的配置文件
接下来在 config.xml 配置文件中找到 <passwordHash>
节点
- <hudson.security.HudsonPrivateSecurityRealm_-Details>
- <passwordHash>#jbcrypt:加密的密码</passwordHash>
- </hudson.security.HudsonPrivateSecurityRealm_-Details>
Jenkins 的密码是使用 Java 加密工具 jBCrypt 生成的,所以可以随便生成一个密码来替换掉之前的密码,例如使用加密后的 123456 来替换,123456 加密后为:$2a$10$SRqhubr8eaDYxjgTcNjlOeJQJBpIVEYaJmMK2v5dgTqYpD09hMaAi
(生成的加密字符串并不是唯一的,但是都可用)
接下来保存配置文件,然后重新启动 Jenkins,接下来就可以使用密码 123456 来进行登录了。(切记正式环境登录之后一定要改密码,改密码,改密码,加粗说三遍)
登录成功之后,点击【系统管理】-【管理用户】打开用户列表,然后点击【设置】小齿轮对用户进行管理。
在用户设置界面,找到密码这一栏,修改完密码保存即可,以后要是忘了也可以通过以上步骤进行重置。
【注】对于想要删除的用户,点击红色图标即可删除。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。