rya*_*zec 209 linux security command-line jenkins
有没有办法从命令行重置所有(或只是禁用安全设置)没有用户/密码,因为我已设法完全锁定自己Jenkins?
Now*_*ker 265
最简单的解决方案是完全禁用安全-变化true给false在/var/lib/jenkins/config.xml文件中.
<useSecurity>true</useSecurity>
Run Code Online (Sandbox Code Playgroud)
然后重新启动Jenkins
sudo service jenkins restart
Run Code Online (Sandbox Code Playgroud)
然后转到管理面板并再次设置所有内容.
如果你是从一个docker在k8s pod中运行你的Jenkins,这是我的情况并且无法运行service命令,那么你可以通过删除pod来重启Jenkins:
kubectl delete pod <jenkins-pod-name>
Run Code Online (Sandbox Code Playgroud)
一旦命令发出,k8s将终止旧的pod并开始一个新的pod.
Ars*_*eny 170
另一种方法是手动编辑用户的配置文件(例如/var/lib/jenkins/users/username/config.xml)并更新passwordHash的内容:
<passwordHash>#jbcrypt:$2a$10$razd3L1aXndFfBNHO95aj.IVrFydsxkcQCcLmujmFQzll3hcUrY7S</passwordHash>
Run Code Online (Sandbox Code Playgroud)
完成此操作后,只需重新启动Jenkins并使用以下密码登录:
test
Run Code Online (Sandbox Code Playgroud)
uck*_*man 41
该<passwordHash>元素users/<username>/config.xml将接受格式的数据
salt:sha256("password{salt}")
Run Code Online (Sandbox Code Playgroud)
所以,如果您的盐bar和密码是,foo那么您可以像这样生成SHA256:
echo -n 'foo{bar}' | sha256sum
Run Code Online (Sandbox Code Playgroud)
你应该得到7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349结果.取哈希并将其与盐一起放入<passwordHash>:
<passwordHash>bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349</passwordHash>
Run Code Online (Sandbox Code Playgroud)
重启Jenkins,然后尝试使用密码登录foo.然后将密码重置为其他内容.(Jenkins默认使用bcrypt,并且一轮SHA256不是一种存储密码的安全方式.重置密码时会收到一个bcrypt哈希值.)
Dur*_*n.H 25
在El-Capitan 中无法找到config.xml
在/ var/lib中/詹金斯/
它可用于
〜/ .jenkins
然后在其他提到之后打开config.xml文件并进行以下更改
在这种替换<useSecurity>true</useSecurity>用<useSecurity>false</useSecurity>
删除<authorizationStrategy>和<securityRealm>
保存并重新启动jenkins(sudo service jenkins restart)
use*_*338 19
修改的答案是正确的.然而,我认为应该提到的是,/var/lib/jenkins/config.xml如果您激活了"基于项目的矩阵授权策略" ,那么看起来就像这样.删除/var/lib/jenkins/config.xml并重新启动jenkins也可以解决问题.我还删除了用户/var/lib/jenkins/users从头开始.
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
<permission>hudson.model.Computer.Configure:jenkins-admin</permission>
<permission>hudson.model.Computer.Connect:jenkins-admin</permission>
<permission>hudson.model.Computer.Create:jenkins-admin</permission>
<permission>hudson.model.Computer.Delete:jenkins-admin</permission>
<permission>hudson.model.Computer.Disconnect:jenkins-admin</permission>
<!-- if this is missing for your user and it is the only one, bad luck -->
<permission>hudson.model.Hudson.Administer:jenkins-admin</permission>
<permission>hudson.model.Hudson.Read:jenkins-admin</permission>
<permission>hudson.model.Hudson.RunScripts:jenkins-admin</permission>
<permission>hudson.model.Item.Build:jenkins-admin</permission>
<permission>hudson.model.Item.Cancel:jenkins-admin</permission>
<permission>hudson.model.Item.Configure:jenkins-admin</permission>
<permission>hudson.model.Item.Create:jenkins-admin</permission>
<permission>hudson.model.Item.Delete:jenkins-admin</permission>
<permission>hudson.model.Item.Discover:jenkins-admin</permission>
<permission>hudson.model.Item.Read:jenkins-admin</permission>
<permission>hudson.model.Item.Workspace:jenkins-admin</permission>
<permission>hudson.model.View.Configure:jenkins-admin</permission>
<permission>hudson.model.View.Create:jenkins-admin</permission>
<permission>hudson.model.View.Delete:jenkins-admin</permission>
<permission>hudson.model.View.Read:jenkins-admin</permission>
</authorizationStrategy>
Run Code Online (Sandbox Code Playgroud)
l0b*_*0b0 14
如果您正在使用矩阵权限(可能很容易适应其他登录方法),则在不禁用安全性的情况下重置它:
config.xml,设置disableSignup为false.config.xml,复制其中<permission>hudson.model.Hudson.Administer:username</permission>一行并替换username为新用户.disableSignup回true在config.xml.可选清理:
<permission>行config.xml.在这个答案中没有任何证券受到伤害.
ken*_*orb 14
要在Linux中以简单的步骤禁用Jenkins安全性,请运行以下命令:
sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml
sudo /etc/init.d/jenkins restart
Run Code Online (Sandbox Code Playgroud)
它将从根配置文件中删除useSecurity并排除并重新启动Jenkins.authorizationStrategyconfig.xml
另请参阅:在Jenkins网站上禁用安全性
获得对Jenkins的访问权限后,您可以通过选择" 访问控制/安全领域"在" 配置全局安全性"页面中重新启用安全性.之后别忘了创建admin用户.
Nic*_*ick 12
由于权限错误,您不小心将自己锁定在Jenkins之外,并且您没有服务器端访问权限切换到jenkins用户或root ...您可以在Jenkins中创建一个作业并将其添加到Shell脚本中:
sed -i 's/<useSecurity>true/<useSecurity>false/' ~/config.xml
Run Code Online (Sandbox Code Playgroud)
然后单击立即构建并重新启动Jenkins(或者如果需要,则重新启动服务器!)
小智 11
我们可以在保持安全性的同时重置密码。
/ 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'
Run Code Online (Sandbox Code Playgroud)
这将输出带有2a前缀的哈希,这是Jenkins哈希的正确前缀。
现在,编辑config.xml文件:
...
<passwordHash>#jbcrypt:REPLACE_THIS</passwordHash>
...
Run Code Online (Sandbox Code Playgroud)
插入新的哈希后,重置Jenkins:
(如果您在使用systemd的系统上):
sudo systemctl restart Jenkins
Run Code Online (Sandbox Code Playgroud)
您现在可以登录,并且没有让系统保持打开状态一秒钟。
小智 5
\.jenkins\secrets\initialAdminPassword
Run Code Online (Sandbox Code Playgroud)
从initialAdminPassword文件中复制密码并将其粘贴到Jenkins中.
小智 5
1 首先检查位置,如果您基于该位置安装 war 或 Linux 或 Windows
例如,如果在 Linux 和管理员用户下进行战争
/home/"User_NAME"/.jenkins/users/admin/config.xml
#jbcrypt 后转到此标签:
<passwordHash>#jbcrypt:$2a$10$3DzCGLQr2oYXtcot4o0rB.wYi5kth6e45tcPpRFsuYqzLZfn1pcWK</passwordHash>
Run Code Online (Sandbox Code Playgroud)
使用任何网站为 bcrypt 哈希生成器更改此密码
https://www.dailycred.com/article/bcrypt-calculator
Run Code Online (Sandbox Code Playgroud)
确保它以$2a开头,因为这个 jenkens 使用
| 归档时间: |
|
| 查看次数: |
309363 次 |
| 最近记录: |