CentOS 上 Jenkins 权限设置技巧
一 系统层安全基线
二 身份与授权模型
三 常见场景与最小权限配置
| 场景 | 系统层要点 | Jenkins 授权要点 |
|---|---|---|
| 多团队多项目 | 按项目目录拆分工作空间;必要时用 ACL 精确授权 | 项目角色用正则匹配项目名,开发给 Build/Workspace,测试给 View/Read/Workspace,运维给 Configure/Cancel |
| 需要执行提权命令(如 systemctl、docker、yum) | 不建议直接以 root 运行;通过 sudo 精细化授权白名单命令 | 不建议给 Jenkins 全局 sudo;如必须,使用 sudoers 仅允许特定命令且禁止交互与 TTY,降低风险 |
| 只读门户与报告展示 | 系统层只读挂载或复制到展示目录 | 全局角色仅给 Overall/Read 与 Job/Read,项目角色仅给 View/Read |
| 节点/代理管理 | 节点专属系统用户与目录;限制 sudo 范围 | 节点角色仅授予目标节点相关权限,避免全局 Node/Configure |
| 上述场景中,提权操作务必遵循“最小权限 + 白名单命令 + 禁止交互”的原则,并在变更后回归验证。 |
四 排错与加固清单