我使用github oauth plugin进行登录,但对于组织中的所有用户,我收到了错误消息:
Access Denied
<user> is missing the Overall/Read permission
我已经尝试了一切我可能想到的尝试来完成这项工作,并且我可能会回避让每个人都成为管理员用户,我不想这样做。
任何建议将不胜感激。
答案 0 :(得分:63)
这就是我解决身份验证问题的方法:
编辑config.xml
文件,例如
sudo vi /var/lib/jenkins/config.xml
将useSecurity
元素的值更改为false
,例如
<useSecurity>false</useSecurity>
删除authorizationStrategy
阻止
重新启动Jenkins:/etc/init.d/jenkins restart
。
答案 1 :(得分:13)
您是否已从插件页面执行此步骤?
Control user authorization (i.e. who is allowed to see the jobs and build them) using the Github Commiter Authorization Strategy
此外,请确保您实际允许经过身份验证的用户访问Jenkins
authenticated
答案 2 :(得分:8)
我遇到同样的问题&#34; ...缺少整体/阅读权限&#34;在Jenkins(1.651.2)上激活了Credentials插件。
但这是我自己的失败:我只在项目方面(通过凭据插件)配置了用户,但却错过了配置全局安全性。
所以我通过选择:
来修复它詹金斯 - &gt;管理Jenkins - &gt;配置全局安全性
并设置了缺少全局设置(或基于项目矩阵的设置)
答案 3 :(得分:7)
在config.xml中从<useSecurity>true</useSecurity>
重置为<useSecurity>false</useSecurity>
并再次设置权限。
答案 4 :(得分:4)
编辑文件/var/lib/jenkins/config.xml并添加以下行:
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
<permission>hudson.model.Hudson.Read:john.smith</permission>
</authorizationStrategy>
重新启动Jenkins
答案 5 :(得分:3)
<useSecurity>true</useSecurity>
元素。authorizationStrategy
和securityRealm
答案 6 :(得分:3)
我在这里遇到了同样的问题,但它只影响了一些用户,而不是所有用户。无论如何,您应该检查公共组织成员身份:插件的文档说明“您必须是组织的公共成员才能使授权正常工作”。 (https://wiki.jenkins-ci.org/display/JENKINS/Github+OAuth+Plugin)。
按照GitHub(https://help.github.com/articles/publicizing-or-hiding-organization-membership/)的说明,将组织成员资格公开,这可能会解决您的问题。
答案 7 :(得分:3)
同时检查authorizationStrategy
元素中的案例用户名。我将新用户的名字设为小写并重新启动了服务,错误就消失了。
答案 8 :(得分:3)
我收到此错误时所做的是编辑其他用户提及的config.xml,并正确地在LOWERCASE中重新添加我的用户名&#34; configureSecurity&#34;詹金斯&#39;页。我正在使用&#34; KrustyHack&#34;添加权限但它没有工作。我不得不添加&#34; krustyhack&#34;相反,它有效。
我希望它有所帮助。
答案 9 :(得分:3)
通过服务器上的这两个shell命令修复它(需要sudo权限):
sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml
sudo /etc/init.d/jenkins restart
这会从配置文件中删除useSecurity
和authorizationStrategy
行。
另请参阅:Jenkins网站上的Disable security
答案 10 :(得分:2)
当github组织管理员更改了组织的&#34;第三方访问&#34;的设置时,我们遇到了同样的错误。到&#34;限制第三方应用程序访问&#34;。恢复到github组织中的先前设置解决了问题。
有关如何正确配置的详细信息,请参阅github oauth-app-access-restrictions。
答案 11 :(得分:1)
为用户分配角色存储在config.xml
文件中。将用户的ID直接添加到角色,然后重新启动Jenkins。
就我而言,我有一个名为editor
的角色,并为该角色分配了一大堆用户。
<role name="editor" pattern=".*">
<permissions>
<...>
<permission>hudson.model.Item.Create</permission>
<permission>hudson.model.Item.Workspace</permission>
<permission>...</permission>
</permissions>
<assignedSIDs>
<sid>bob</sid>
<sid>alice</sid>
<sid>**newuser**</sid>
</assignedSIDs>
</role>
答案 12 :(得分:1)
矩阵安全性并不十分清楚。我是我们组织中具有管理员权限的特定组的成员,但我也是经过身份验证的用户。我认为一组超级另一组,但我必须同时拥有两个才能实际登录系统并成为管理员。它搞砸了IMO。
答案 13 :(得分:0)
我有完全相同的问题,添加插件角色策略插件修复了问题。
我所要做的就是安装插件,创建两个组 - 管理员/开发人员,然后将用户添加到组中。
比重新创建整个权限矩阵要好得多的解决方案:)
答案 14 :(得分:0)
我正在使用Crowd 2插件,我遇到了同样的问题。 我通过将OWASP标记格式化程序插件从varsion 1.2降级到1.1版,然后将配置全局安全性值中的标记格式化程序更改为原始HTML,然后将其更改为纯文本来修复它。
答案 15 :(得分:0)
我有一个类似的问题,我无法访问Jenkin帐户,系统被锁定。 我只有一条错误消息。 &#34;访问被拒绝&#34;
当我尝试重新安装Jenkins时,它会提示修复选项。 通过单击修复选项,它修复了问题。
答案 16 :(得分:0)
之前我遇到过同样的问题, 您的OAuth应用程序需要您的组织所有者的批准, 然后OAuth插件可以访问其中的私人数据
答案 17 :(得分:-1)
我编辑了/var/lib/jenkins/config.xml文件并替换了
<authorizationStrategy>...</authorizationStrategy>
带
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
这是安装后的默认设置。然后重启jenkins服务。
答案 18 :(得分:-2)
只需使用Jenkins&gt;配置全局安全性底部页面矩阵以向用户提供权限(启动w / read)