是否有一种方法来重置所有(或只是禁用安全设置)从命令行没有用户/密码,因为我已经设法完全锁定自己的詹金斯?
当前回答
在偶然的机会,你不小心锁定自己的Jenkins由于权限错误,你没有服务器端访问切换到Jenkins用户或根…你可以在Jenkins中创建一个作业,并将其添加到Shell脚本中:
sed -i 's/<useSecurity>true/<useSecurity>false/' ~/config.xml
然后单击Build Now并重新启动Jenkins(如果需要,也可以重启服务器!)
其他回答
在偶然的机会,你不小心锁定自己的Jenkins由于权限错误,你没有服务器端访问切换到Jenkins用户或根…你可以在Jenkins中创建一个作业,并将其添加到Shell脚本中:
sed -i 's/<useSecurity>true/<useSecurity>false/' ~/config.xml
然后单击Build Now并重新启动Jenkins(如果需要,也可以重启服务器!)
为了删除Windows操作系统中jenkins的默认安全性,
您可以遍历在/users/{UserName}/.jenkins中创建的Config.xml文件。
在这个文件中,您可以更改代码
<useSecurity>true</useSecurity>
To,
<useSecurity>false</useSecurity>
在El-Capitan中,config.xml不能在
/var/lib/jenkins/
它可在
~ / .jenkins
然后,如前所述,打开config.xml文件并进行以下更改
将< usesecsecurity >true</ usesecsecurity >替换为< usesecsecurity >false</ usesecsecurity > 删除<authorizationStrategy>和<securityRealm> 保存它并重新启动jenkins(sudo service jenkins restart)
我们可以在打开安全系统的情况下重置密码。
/var/lib/Jenkins/users/admin/中的config.xml文件在某种程度上类似于Linux或类unix系统中的/etc/shadow文件或Windows中的SAM文件,因为它存储了帐户密码的散列。
如果您需要在不登录的情况下重置密码,您可以编辑这个文件并用bcrypt生成的新哈希替换旧的哈希:
$ pip install bcrypt
$ python
>>> import bcrypt
>>> bcrypt.hashpw("yourpassword", bcrypt.gensalt(rounds=10, prefix=b"2a"))
'YOUR_HASH'
这将输出您的哈希,带有前缀2a,这是Jenkins哈希的正确前缀。
现在,编辑config.xml文件:
...
<passwordHash>#jbcrypt:REPLACE_THIS</passwordHash>
...
一旦你插入了新的散列,重置Jenkins:
(如果你在systemd系统上):
sudo systemctl restart Jenkins
现在您可以登录了,而且您的系统一秒钟都没有打开。
我发现有问题的文件位于/var/lib/jenkins中,名为config.xml,修改后解决了这个问题。
推荐文章
- 如何从终端/命令行调用VS代码编辑器
- 在Bash中检查变量是否存在于列表中
- 在Jar文件中运行类
- 查看PS命令的全部输出
- 如何在Windows命令提示符下运行.sh ?
- Linux命令将域名转换为IP
- 如何从命令行通过mysql运行一个查询?
- JavaScript:客户端验证与服务器端验证
- ASP。NET身份的默认密码散列器-它是如何工作的,它是安全的?
- 如何从命令行在windows中找到mysql数据目录
- 如何从命令行安装cygwin组件?
- 如何更改Git日志日期格式
- 如何使用GitHub Org Plugin从jenkins管道(jenkinsfile)触发另一个作业?
- 有效地测试Linux上的端口是否打开?
- 主体、使用者和主体之间的意义和区别是什么?