【发布时间】:2015-09-14 21:52:16
【问题描述】:
我有一个 Jenkins 用户,我想授予对 Jenkins 实例运行远程 CLI 的权限。第一个命令是获取 config.xml:
java -jar jenkins-cli.jar -s http://jenkins:8080/hudson get-job thejob
但是当他调用命令时,它失败了:
Caught: java.lang.RuntimeException: \
hudson.security.AccessDeniedException2: \
USER is missing the Job/ExtendedRead permission \
at hudson.security.ACL.checkPermission(ACL.java:54)
我已授权在我们基于矩阵的安全网格中执行脚本、读取/创建/配置作业等。网格中有另一个用户具有完全相同的权限,但是对于这个另一个用户,一切正常。
我没有安装任何插件“扩展读取权限”或“只读配置”。
我不明白为什么这个新用户会失败。有人建议吗?
2 个用户 config.xml 文件的差异:
<com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@1.4">
<credentials/>
对比:
<com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@1.8.3">
<domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash"/>
最后一个:
<hudson.security.HudsonPrivateSecurityRealm_-Details>
<passwordHash>some values...</passwordHash>
</hudson.security.HudsonPrivateSecurityRealm_-Details>
【问题讨论】:
-
您可以尝试检索两个用户的 xml 文件并进行比较。
-
谢谢帕特里斯。我在问题中添加了差异。
标签: permissions jenkins command-line-interface