温馨提示×

centos如何设jenkins权限

小樊
37
2026-09-15 11:06:10
栏目: 智能运维

在 CentOS 上设置 Jenkins 权限,通常分为 系统层面(Linux 用户/端口) 和 Jenkins 应用层面(账号与角色权限) 两部分。下面按常见场景说明。


一、Jenkins 应用层权限(最常用)

1. 开启安全配置

  1. 登录 Jenkins
  2. 进入
    Manage Jenkins → Security → Configure Global Security
  3. 勾选 Enable security
  4. 安全域选择:
    • Jenkins’ own user database(自带用户)
    • 或 LDAP / Unix user(企业常用)
  5. 授权策略选择:
    • Logged-in users can do anything(简单)
    • 或 Role-Based Strategy(推荐)

2. 使用 Role-Based 权限(推荐)

(1)安装插件

  • 插件名:Role-based Authorization Strategy

(2)配置角色

  1. Manage Jenkins → Manage and Assign Roles
  2. 创建角色:
    • Global roles(如 admin、reader)
    • Project roles(按项目前缀,如 dev-*, test-*)
  3. 示例:
    • admin:全部权限
    • dev:只构建/查看 dev-* 项目

(3)给用户分配角色

  • Assign Roles
  • 添加用户 → 勾选对应角色

3. 创建 Jenkins 用户

  • Manage Jenkins → Users → Create User
  • 设置用户名、密码

二、CentOS 系统层权限(Jenkins 运行用户)

1. Jenkins 默认用户

CentOS 上 Jenkins 默认以 jenkins 用户运行:

cat /etc/passwd | grep jenkins

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

编辑:

vi /etc/sysconfig/jenkins

修改:

JENKINS_USER="jenkins"

更改目录权限:

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

重启:

systemctl restart jenkins

三、端口与防火墙权限(CentOS)

1. 修改 Jenkins 端口

vi /etc/sysconfig/jenkins
JENKINS_PORT="8080"

2. 防火墙放行

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

四、常见权限问题排查

1. 构建时权限不足

sudo chown -R jenkins:jenkins /your/project/path

2. Jenkins 无法执行命令

将 jenkins 用户加入对应组:

usermod -aG docker jenkins
systemctl restart jenkins

五、最小权限建议(生产环境)

  • 不用 admin 账号日常使用
  • 按团队拆分 Project Role
  • Jenkins 用户不授予 root
  • 使用 sudo 精确授权

如果你有具体需求(例如:只允许某人构建某个项目 / LDAP 登录 / Docker 权限 / Pipeline 权限),可以告诉我,我可以给你更精确的配置示例。

0 踩