是否有一种方法来重置所有(或只是禁用安全设置)从命令行没有用户/密码,因为我已经设法完全锁定自己的詹金斯?
当前回答
最简单的解决方案是完全禁用安全性-将/var/lib/jenkins/config.xml文件中的true更改为false。
<useSecurity>true</useSecurity>
实现相同功能的一行代码:
sed -i 's/<useSecurity>true<\/useSecurity>/<useSecurity>false<\/useSecurity>/g' /var/lib/jenkins/config.xml
然后重启Jenkins:
sudo service jenkins restart
然后转到管理面板,再次设置所有内容。
如果你在Kubernetes pod中运行Jenkins并且不能运行service命令,那么你可以通过删除pod重新启动Jenkins:
kubectl delete pod <jenkins-pod-name>
一旦命令发出,Kubernetes将终止旧的吊舱并启动一个新的吊舱。
其他回答
为了删除Windows操作系统中jenkins的默认安全性,
您可以遍历在/users/{UserName}/.jenkins中创建的Config.xml文件。
在这个文件中,您可以更改代码
<useSecurity>true</useSecurity>
To,
<useSecurity>false</useSecurity>
对于使用macOS的用户来说,新版本只能通过自制软件安装。所以为了休息,这个命令行必须使用:
brew services restart jenkins-lts
我发现有问题的文件位于/var/lib/jenkins中,名为config.xml,修改后解决了这个问题。
users/<username>/config.xml中的<passwordHash>元素将接受该格式的数据
salt:sha256("password{salt}")
所以,如果你的salt是bar,你的密码是foo,那么你可以像这样生成SHA256:
echo -n 'foo{bar}' | sha256sum
结果应该是7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349。将哈希值和盐一起放入<passwordHash>:
<passwordHash>bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349</passwordHash>
重新启动Jenkins,然后尝试使用密码foo登录。然后将密码重置为其他密码。(Jenkins默认使用bcrypt,一轮SHA256并不是存储密码的安全方式。当你重置密码时,你会得到一个bcrypt哈希存储。)
在偶然的机会,你不小心锁定自己的Jenkins由于权限错误,你没有服务器端访问切换到Jenkins用户或根…你可以在Jenkins中创建一个作业,并将其添加到Shell脚本中:
sed -i 's/<useSecurity>true/<useSecurity>false/' ~/config.xml
然后单击Build Now并重新启动Jenkins(如果需要,也可以重启服务器!)
推荐文章
- 阻止人们入侵基于php的Flash游戏高分表的最佳方法是什么
- 如何循环通过文件匹配通配符在批处理文件
- 如何修改Linux系统中打开文件的数量限制?
- errno线程安全吗?
- 我怎么能显示线在公共(反向差异)?
- 如何在Linux中永久导出变量?
- Git显示“警告:永久添加到已知主机列表”
- 如何首次配置postgresql ?
- 检索Linux上单个进程的CPU使用情况和内存使用情况?
- 如何从远程SSH会话发送数据到本地剪贴板
- Maven依赖项失败,出现501错误
- SSH端口转发~/。ssh /配置文件?
- 在Linux中安装Java SDK后,我可以在哪里找到它?
- 如何将多个文件的内容追加到一个文件
- linux cat命令可以用来写入文本文件吗?