Java 编辑基于矩阵的安全性后无法启动jenkins

Java 编辑基于矩阵的安全性后无法启动jenkins,java,exception,jenkins,Java,Exception,Jenkins,我在我的W$7机器上用tomcatrunning部署了最新的jenkins war。在我第一次登录时,我在基于矩阵的安全性中配置了一些东西,如前所述。在矩阵中添加用户后,我无法加载jenkins war。显示以下错误堆栈。完整的堆栈跟踪请 现在,当我进入登录页面时,我可以看到登录表单。我们是否有任何默认登录来继续 注意:如那篇文章所述,我在登录页面中没有看到创建帐户选项卡。因此,我无法继续 堆栈跟踪: hudson.security.AccessDeniedException2: anonymo

我在我的W$7机器上用tomcatrunning部署了最新的jenkins war。在我第一次登录时,我在基于矩阵的安全性中配置了一些东西,如前所述。在矩阵中添加用户后,我无法加载jenkins war。显示以下错误堆栈。完整的堆栈跟踪请

现在,当我进入登录页面时,我可以看到登录表单。我们是否有任何默认登录来继续

注意:如那篇文章所述,我在登录页面中没有看到创建帐户选项卡。因此,我无法继续

堆栈跟踪:

hudson.security.AccessDeniedException2: anonymous is missing the Overall/Read permission
at hudson.security.ACL.checkPermission(ACL.java:54)
at hudson.model.Node.checkPermission(Node.java:418)
at jenkins.model.Jenkins.getTarget(Jenkins.java:3680)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:612)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:587)
at org.kohsuke.stapler.Stapler.service(Stapler.java:218)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
编辑:

我也重新部署了战争,问题仍然存在


因此,我从JenKins站点下载了新的war文件,并部署在xampp的tomcat中。当我导航到jenkins应用程序时,Java SE崩溃了。

看起来你把自己锁在外面了。以下是锁选择器说明:

保护詹金斯

您可能会意外地设置安全域/授权,使您无法再重新配置Jenkins

发生这种情况时,可以通过以下步骤解决此问题:

  • 停止Jenkins(最简单的方法是停止servlet容器)
  • 转到文件系统中的
    $JENKINS_HOME
    ,找到
    config.xml
    文件
  • 在编辑器中打开此文件
  • 在此文件中查找
    true
    元素
  • true
    替换为
    false
  • 删除元素
    authorizationStrategy
    securityRealm
  • 从詹金斯开始
  • 当詹金斯回来的时候,它将处于一种不安全的模式,每个人都可以得到它 完全访问系统
  • 如果仍不起作用,请尝试重命名或删除
    config.xml


    通过两个简单步骤修复:

  • 去詹金家
  • 重命名config.xml

  • 尝试启动Jenkin

    我遵循了以下源代码中的步骤。但仍然面临相同的问题。

    最后,我尝试unistall并将jenkins安装到另一个目录中,这有助于我开始工作

    希望它能帮助一些人。

    你可以做一件事

    停止jenkins(使用tomcat)

    转到JENKINS文件夹中的config.xml。
    在此文件中查找
    true
    元素。
    true替换为false
    删除元素authorizationStrategy和securityRealm
    启动Jenkins

    当Jenkins回来时,它处于不安全模式,每个人都可以完全访问系统

    以上所有答案都很好,但没有人提到大象-这就是如何让矩阵安全工作的?我一遍又一遍地谈论这个问题,直到我发现我认为答案是什么

    以下是我所做的:

  • 禁用安全性,如上所述
  • 进入“配置全局安全性”页面
  • 选择矩阵安全性,并立即为匿名启用所有
  • 添加您的用户并设置他们的权限,确保至少有一个管理员(我假设所有权限都有)
  • 保存,并确保您现在以管理员身份登录
  • 返回并关闭匿名(或任何“匿名访问规则”)上除查看权限以外的所有权限
  • 保存
  • 完成了


    我相信克服“Anonymous must have”错误的诀窍是在关闭匿名管理员权限之前确保您已登录。我在jenkins[v1.550]中找不到config.xml我在ubuntu 12.04机器上。root@bugcy013:~#苏-詹金斯jenkins@bugcy013:~$pwd/var/lib/jenkinsjenkins@bugcy013:~$cat/etc/passwd | grep jenkins jenkins:x:123:65534:jenkins,,,,,:/var/lib/jenkins:/bin/bashjenkins@bugcy013:~$Stop Jenkins(最简单的方法是杀死servlet容器。)转到文件系统中的$JENKINS_HOME并找到config.xml文件。在编辑器中打开此文件。在该文件中查找true元素。将true替换为false删除元素authorizationStrategy和securityRealm Start jenkins我在ubuntu上,jenkins已成功启动,但
    $jenkins_HOME
    为空。我尝试了
    echo$JENKiNS\u HOME
    。emptysudo find/-name“config.xml”同意,公认的答案是link only,但这基本上只是三年前link的C&P。我猜它对你有用(否则你可能不会把它作为答案放在这里,希望;),但这不是重点,也就是说,您在三年后给出了一个答案,并提供了已接受答案的信息,而不是像我现在这样更新该答案。这只是最后的手段(请参阅),因为您还将重置所有其他配置,这可能会非常多。