温馨提示×

centos怎么设jenkins权限

小樊
42
2026-10-23 20:55:32
栏目: 智能运维

在 CentOS 上设置 Jenkins 权限,通常分为 系统层面权限(Linux 用户/目录) 和 Jenkins 内部权限管理(RBAC / 项目权限) 两部分。下面按常见场景说明。


一、Jenkins 运行用户与系统权限(CentOS)

1. 查看 Jenkins 运行用户

默认 Jenkins 使用 jenkins 用户运行:

ps -ef | grep jenkins

或查看服务文件:

cat /etc/sysconfig/jenkins | grep JENKINS_USER

常见值:

JENKINS_USER="jenkins"

2. 修改 Jenkins 运行用户(可选)

如需用 root 或其他用户(不推荐 root):

vi /etc/sysconfig/jenkins

修改:

JENKINS_USER="jenkins"

修改目录权限:

chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/log/jenkins
chown -R jenkins:jenkins /var/cache/jenkins

重启:

systemctl restart jenkins

二、Jenkins Web 界面权限设置(最重要)

方式一:基于矩阵的安全策略(基础)

  1. 进入
    Jenkins → Manage Jenkins → Security
  2. 勾选 Enable security
  3. 安全域选择:
    • Jenkins’ own user database
  4. 授权策略选择:
    • Matrix Authorization Strategy
  5. 添加用户/组,勾选权限:
    • Admin:全部勾选
    • 普通用户:只读/构建权限

✅ 适合小团队


方式二:Role-Based Authorization Strategy(推荐)

1. 安装插件

Manage Jenkins → Plugins → Available 搜索并安装:

Role-based Authorization Strategy

2. 启用 Role 策略

Security → Authorization 选择:

Role-Based Strategy

3. 配置角色

Manage Jenkins → Manage and Assign Roles

(1)Manage Roles
  • Global roles
    • admin → 全部权限
    • dev → 只读 + 构建
  • Project roles
    • projectA → 匹配 projectA.*
(2)Assign Roles
  • 给用户分配 Global / Project 角色

✅ 适合多项目、多团队


三、Linux 文件/命令权限(Jenkins 执行脚本)

如果 Jenkins 需要执行系统命令(如 docker、systemctl):

1. 将 jenkins 用户加入组

usermod -aG docker jenkins

2. sudo 权限(谨慎)

visudo

添加:

jenkins ALL=(ALL) NOPASSWD: /usr/bin/systemctl

重启 Jenkins:

systemctl restart jenkins

四、常见问题

Jenkins 没权限读取目录

chown -R jenkins:jenkins /your/path
chmod -R 755 /your/path

403 无权限

  • 用户未分配角色
  • 项目角色正则不匹配

如果你能说明:

  • Jenkins 版本
  • 是否接 LDAP / GitLab
  • 想要“谁能做什么”

我可以给你一份可直接用的权限配置示例。

0 踩