是否有一种方法来重置所有(或只是禁用安全设置)从命令行没有用户/密码,因为我已经设法完全锁定自己的詹金斯?


当前回答

最简单的解决方案是完全禁用安全性-将/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将终止旧的吊舱并启动一个新的吊舱。

其他回答

关于修改的答案是正确的。然而,我认为应该提到的是,如果你激活了“基于项目的矩阵授权策略”,/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>

步骤1:进入目录cd .jenkins/secrets,然后你会得到一个'initialAdminPassword'。

step-2: nano initialAdminPassword

你会得到一个密码

在偶然的机会,你不小心锁定自己的Jenkins由于权限错误,你没有服务器端访问切换到Jenkins用户或根…你可以在Jenkins中创建一个作业,并将其添加到Shell脚本中:

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

然后单击Build Now并重新启动Jenkins(如果需要,也可以重启服务器!)

最简单的解决方案是完全禁用安全性-将/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将终止旧的吊舱并启动一个新的吊舱。

\.jenkins\secrets\initialAdminPassword

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