在 CentOS 上配置 Jenkins 权限,通常分为 系统级(Linux 用户/目录权限) 和 Jenkins 内部权限管理(基于角色/项目) 两部分。下面按常见场景给你一套实用配置方案。
Jenkins 默认使用 jenkins 用户运行:
cat /etc/passwd | grep jenkins
如需修改运行用户(不推荐新手改):
vim /etc/sysconfig/jenkins
# JENKINS_USER="jenkins"
修改后:
chown -R jenkins:jenkins /var/lib/jenkins
systemctl restart jenkins
Jenkins 工作目录:
/var/lib/jenkins
/var/log/jenkins
/var/cache/jenkins
确保属主正确:
chown -R jenkins:jenkins /var/lib/jenkins
如果 Jenkins 要操作 Docker:
usermod -aG docker jenkins
systemctl restart jenkins
Manage Jenkins → Security
Security Realm:
Jenkins’ own user databaseLDAP(推荐)Authorization:
Matrix Authorization StrategyRole-Based Strategy(推荐)Role-based Authorization Strategy
Manage Jenkins → Security → Authorization
选择:Role-Based Strategy
Manage Jenkins → Manage and Assign Roles
(1)Manage Roles
admin → 全部勾选reader → Readdev → 匹配项目:projectA.*ops → 匹配项目:deploy.*(2)Assign Roles
zhangsan → devlisi → opsadmin✅ 效果:
角色权限:
项目命名规范:
teamA-*
teamB-*
Project Role:
teamA → teamA-.*teamB → teamB-.*Global Roles:
anonymous → Read⚠️ 生产环境不建议开启
原因:
解决:
chown -R jenkins:jenkins /var/lib/jenkins
vim /var/lib/jenkins/config.xml
修改:
<useSecurity>false</useSecurity>
重启 Jenkins 后重设用户。
✅ CentOS + Jenkins 用户隔离
✅ Role-Based Strategy
✅ 项目命名规范
✅ 最小化权限原则
如果你能告诉我:
我可以给你一套 可直接用的角色配置示例。