当前位置:  开发笔记 > 编程语言 > 正文

如何从命令行重置Jenkins安全设置?

如何解决《如何从命令行重置Jenkins安全设置?》经验,为你挑选了11个好方法。

有没有办法从命令行重置所有(或只是禁用安全设置)没有用户/密码,因为我已设法完全锁定自己Jenkins



1> Nowaker..:

最简单的解决方案是完全禁用安全-变化truefalse/var/lib/jenkins/config.xml文件中.

true

然后重新启动Jenkins

sudo service jenkins restart

然后转到管理面板并再次设置所有内容.

如果你是从一个docker在k8s pod中运行你的Jenkins,这是我的情况并且无法运行service命令,那么你可以通过删除pod来重启Jenkins:

kubectl delete pod 

一旦命令发出,k8s将终止旧的pod并开始一个新的pod.


`sudo service jenkins restart`
对于那些找不到它们的人,他们的config.xml在你的终端中使用`find/-name"config.xml"`.
我需要重新启动Jenkins才能进行更改.

2> Arseny..:

另一种方法是手动编辑用户的配置文件(例如/var/lib/jenkins/users/username/config.xml)并更新passwordHash的内容:

#jbcrypt:$2a$10$razd3L1aXndFfBNHO95aj.IVrFydsxkcQCcLmujmFQzll3hcUrY7S

完成此操作后,只需重新启动Jenkins并使用以下密码登录:

test


``xml标签是``的子标签.查看默认管理员用户,了解总XML结构.
这是一个很好的解决方案,可以保证安装的安全.出于好奇,如何生成密码哈希?

3> ryanzec..:

我发现有问题的文件位于/ var/lib/jenkins中,名为config.xml,修改后修复了该问题.



4> uckelman..:

元素users//config.xml将接受格式的数据

salt:sha256("password{salt}")

所以,如果您的盐bar和密码是,foo那么您可以像这样生成SHA256:

echo -n 'foo{bar}' | sha256sum

你应该得到7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349结果.取哈希并将其与盐一起放入:

bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349

重启Jenkins,然后尝试使用密码登录foo.然后将密码重置为其他内容.(Jenkins默认使用bcrypt,并且一轮SHA256不是一种存储密码的安全方式.重置密码时会收到一个bcrypt哈希值.)



5> Durai Amutha..:

在El-Capitan 中无法找到config.xml

在/ var/lib中/詹金斯/

它可用于

〜/ .jenkins

然后在其他提到之后打开config.xml文件并进行以下更改

在这种替换truefalse

删除

保存并重新启动jenkins(sudo service jenkins restart)



6> user637338..:

修改的答案是正确的.然而,我认为应该提到的是,/var/lib/jenkins/config.xml如果您激活了"基于项目的矩阵授权策略" ,那么看起来就像这样.删除/var/lib/jenkins/config.xml并重新启动jenkins也可以解决问题.我还删除了用户/var/lib/jenkins/users从头开始.


    hudson.model.Computer.Configure:jenkins-admin
    hudson.model.Computer.Connect:jenkins-admin
    hudson.model.Computer.Create:jenkins-admin
    hudson.model.Computer.Delete:jenkins-admin
    hudson.model.Computer.Disconnect:jenkins-admin
    
    hudson.model.Hudson.Administer:jenkins-admin
    hudson.model.Hudson.Read:jenkins-admin
    hudson.model.Hudson.RunScripts:jenkins-admin
    hudson.model.Item.Build:jenkins-admin
    hudson.model.Item.Cancel:jenkins-admin
    hudson.model.Item.Configure:jenkins-admin
    hudson.model.Item.Create:jenkins-admin
    hudson.model.Item.Delete:jenkins-admin
    hudson.model.Item.Discover:jenkins-admin
    hudson.model.Item.Read:jenkins-admin
    hudson.model.Item.Workspace:jenkins-admin
    hudson.model.View.Configure:jenkins-admin
    hudson.model.View.Create:jenkins-admin
    hudson.model.View.Delete:jenkins-admin
    hudson.model.View.Read:jenkins-admin
  



7> l0b0..:

如果您正在使用矩阵权限(可能很容易适应其他登录方法),则在不禁用安全性的情况下重置它:

    config.xml,设置disableSignupfalse.

    重启 Jenkins.

    转到Jenkins网页并注册新用户.

    config.xml,复制其中hudson.model.Hudson.Administer:username一行并替换username为新用户.

    如果它是一个专用服务器,设置disableSignuptrueconfig.xml.

    重启 Jenkins.

    转到Jenkins网页并以新用户身份登录.

    重置原始用户的密码.

    以原始用户身份登录.

可选清理:

    删除新用户.

    删除中的临时config.xml.

在这个答案中没有任何证券受到伤害.



8> kenorb..:

要在Linux中以简单的步骤禁用Jenkins安全性,请运行以下命令:

sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml
sudo /etc/init.d/jenkins restart

它将从根配置文件中删除useSecurity并排除并重新启动Jenkins.authorizationStrategyconfig.xml

另请参阅:在Jenkins网站上禁用安全性


获得对Jenkins的访问权限后,您可以通过选择" 访问控制/安全领域"在" 配置全局安全性"页面中重新启用安全性.之后别忘了创建admin用户.



9> Nick..:

由于权限错误,您不小心将自己锁定在Jenkins之外,并且您没有服务器端访问权限切换到jenkins用户或root ...您可以在Jenkins中创建一个作业并将其添加到Shell脚本中:

sed -i 's/true/false/' ~/config.xml

然后单击立即构建并重新启动Jenkins(或者如果需要,则重新启动服务器!)



10> 小智..:

我们可以在保持安全性的同时重置密码。

/ var / lib / Jenkins / users / admin /中的config.xml文件的行为类似于/ etc / shadow文件Linux或类似UNIX的系统或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文件:

...
#jbcrypt:REPLACE_THIS
...

插入新的哈希后,重置Jenkins:

(如果您在使用systemd的系统上):

sudo systemctl restart Jenkins

您现在可以登录,并且没有让系统保持打开状态一秒钟。



11> 小智..:
\.jenkins\secrets\initialAdminPassword

从initialAdminPassword文件中复制密码并将其粘贴到Jenkins中.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有