温馨提示×

ubuntu jenkins怎样配置权限

小樊
32
2026-10-13 01:44:46
栏目: 智能运维

在 Ubuntu 上配置 Jenkins 权限,通常是通过 基于角色的权限控制(RBAC) 或 项目矩阵授权 来实现的。下面从基础到常用方案给你一个完整配置指南。


一、准备工作(Ubuntu 环境)

假设你已经在 Ubuntu 上安装好 Jenkins:

sudo systemctl status jenkins

访问地址一般是:

http://<服务器IP>:8080

二、开启 Jenkins 安全配置(必须)

  1. 登录 Jenkins

  2. 进入:

    Manage Jenkins -> Security
    
  3. 在 Security Realm 中选择:

    • ✅ Jenkins’ own user database(默认,适合小团队)
    • 或 LDAP(企业常用)
  4. 在 Authorization 中先选择:

    • ✅ Matrix Authorization Strategy(简单直观)

⚠️ 第一次配置建议保留一个管理员账号有全部权限


三、使用「项目矩阵授权」(基础方式)

1. 创建用户

Manage Jenkins -> Manage Users -> Create User

2. 配置权限

Manage Jenkins -> Security
Authorization -> Matrix Authorization Strategy

示例:

用户 Overall Job Build Read
admin ✅ ✅ ✅ ✅
dev01 ❌ ✅ ✅ ✅
viewer ❌ ❌ ❌ ✅

四、推荐方案:Role-Based Authorization(最常用 ✅)

1. 安装插件

Manage Jenkins -> Plugins -> Available
搜索并安装:
✅ Role-based Authorization Strategy

安装完成后重启 Jenkins。


2. 启用 Role 策略

Manage Jenkins -> Security
Authorization -> Role-Based Strategy

3. 配置角色

Manage Jenkins -> Manage and Assign Roles

(1)Manage Roles

Global Roles

  • admin → 全部权限
  • reader → Overall Read

Project Roles

  • dev

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

    • Pattern: ops-.*
    • 权限:全部 Job 权限

(2)Assign Roles

将用户绑定到角色:

用户 Global Role Project Role
admin admin —
tom reader dev
jack reader ops

五、示例场景

场景 1:开发只能构建自己的项目

  • Project Role Pattern:teamA-.*
  • 用户:只分配该角色

场景 2:只读人员

  • Global Role:reader
  • 不分配任何 Project Role

六、常见问题

1. 配置错了,无法登录?

编辑:

sudo nano /var/lib/jenkins/config.xml

将:

<authorizationStrategy .../>

改为:

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

然后:

sudo systemctl restart jenkins

2. Ubuntu 文件权限问题

Jenkins 默认用户是 jenkins:

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

七、总结建议

✅ 小团队:Matrix Authorization
✅ 中大型团队:Role-Based Strategy(强烈推荐)
✅ 企业:LDAP + Role


如果你愿意,可以告诉我:

  • Jenkins 版本
  • 使用人数
  • 是否接 LDAP / GitLab

我可以帮你直接设计一套权限模型。

0 踩