温馨提示×

centos jenkins权限怎么设

小樊
51
2026-09-27 11:43:12
栏目: 智能运维

在 CentOS 上配置 Jenkins 权限,通常分为 系统级权限(Linux 用户/文件) 和 Jenkins 内部权限(账号与角色) 两部分。下面按常见场景说明。


一、Linux 系统层权限(CentOS)

1. Jenkins 运行用户

Jenkins 默认使用 jenkins 用户运行:

cat /etc/passwd | grep jenkins

如果要用其他用户(如 www):

sudo vim /etc/sysconfig/jenkins

修改:

JENKINS_USER="jenkins"

修改后:

sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo chown -R jenkins:jenkins /var/log/jenkins
sudo systemctl restart jenkins

2. 工作目录权限

确保 Jenkins 能读写:

sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo chmod -R 755 /var/lib/jenkins

如果你用自定义工作空间:

sudo chown -R jenkins:jenkins /data/jenkins_workspace

3. 执行 shell / docker 权限

如果 Jenkins 需要执行 docker:

sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

需要 sudo 权限(谨慎):

visudo

添加:

jenkins ALL=(ALL) NOPASSWD: ALL

二、Jenkins 内部权限设置

方式一:基于矩阵的安全(简单)

  1. Manage Jenkins → Security
  2. 勾选:
    • ✅ Enable security
  3. Security Realm:
    • 选 Jenkins’ own user database
  4. Authorization:
    • 选 Matrix-based security

示例:

用户 Admin Read Job Run
admin ✅ ✅ ✅ ✅
dev ❌ ✅ ✅ ✅

方式二:Role-Based 权限(推荐)

1. 安装插件

Role-based Authorization Strategy

2. 启用

Manage Jenkins → Security → Authorization
选择:Role-Based Strategy

3. 创建角色

Manage Jenkins → Manage and Assign Roles

Global Roles

  • admin(全部权限)
  • reader(只读)

Project Roles

  • dev-role
    • Pattern: dev-.*
    • 权限:Build / Read / Workspace

4. 分配用户

  • admin → admin
  • zhangsan → reader + dev-role

三、常见问题

1. 登录后 403 / 无权限

  • 检查 jenkins 用户权限
  • 检查角色是否分配
  • 清空权限(应急):
sudo vim /var/lib/jenkins/config.xml

删除 <authorizationStrategy> 内容,重启 Jenkins


2. 无法访问 /var/run/docker.sock

sudo chmod 666 /var/run/docker.sock
# 或
sudo usermod -aG docker jenkins

3. Jenkins 启动失败

查看日志:

sudo tail -f /var/log/jenkins/jenkins.log

如果你能说明:

  • Jenkins 版本
  • 是否用 Docker
  • 是系统权限还是账号权限
  • 多人协作 / CI / 生产环境

我可以给你更精确的配置示例。

0 踩