1.jenkins在全局安全配置的设置中需要提前备份jenkins-home的config.xml文件,如果设置不成功,可以替换此文件。防止jenkins设置过程中产生权限问题。
2.如果没有备份jenkins-home的config.xml文件。此时设置不成功,需要恢复成初始状态,需要找到了<useSecurity>和<authorizationStrategy>节点。<useSecurity>节点代表是否使用用户权限,<authorizationStrategy>节点代表用户权限是怎么划分的。如图:
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
<permission>hudson.model.Hudson.Administer:annoymous</permission>
<permission>hudson.model.Hudson.ConfigureUpdateCenter:annoymous</permission>
<permission>hudson.model.Hudson.Read:annoymous</permission>
<permission>hudson.model.Hudson.RunScripts:annoymous</permission>
<permission>hudson.model.Hudson.UploadPlugins:annoymous</permission>
下面提供2种方法供大家使用:
- 恢复默认设置
直接删除<useSecurity>和<authorizationStrategy>节点
- 配置管理员权限
这种方法适用于已经存在一堆的权限,重新配置麻烦。
在<authorizationStrategy>节点中添加内容如下:
<permission>hudson.model.Hudson.Administer:anonymous</permission> <permission>hudson.model.Hudson.ConfigureUpdateCenter:anonymous</permission> <permission>hudson.model.Hudson.Read:anonymous</permission> <permission>hudson.model.Hudson.RunScripts:anonymous</permission> <permission>hudson.model.Hudson.UploadPlugins:anonymous</permission>
ps:anonymous可以更改成你的登录名。提供给大家的是匿名用户的配置。
改完之后记得保存额,然后重启Jenkins。
最后给大家说说在配置文件里面怎么辨别使用是哪种权限控制模式
<authorizationStrategy>节点上有个class属性,这个属性控制着使用那种授权模式。
hudson.security.FullControlOnceLoggedInAuthorizationStrategy | 登录用户可以做任何事 |
hudson.security.ProjectMatrixAuthorizationStrategy | 项目矩阵授权策略 |
hudson.security.GlobalMatrixAuthorizationStrategy | 安全矩阵 |
hudson.security.LegacyAuthorizationStrategy | 遗留模式 |