温馨提示×

linux gitlab怎么权限设

小樊
38
2026-09-07 13:11:43
栏目: 智能运维

在 Linux 上部署的 GitLab,权限设置通常分为 系统层面GitLab 内部权限 两部分。下面按常见场景给你讲清楚。


一、GitLab 内部权限(最常用)

1. 用户角色(Project / Group)

GitLab 主要有 5 种权限:

角色 权限说明
Guest 只能看 Issue、评论
Reporter 可克隆、看代码,不能推
Developer 可推代码、建分支
Maintainer 管理项目、成员、保护分支
Owner 最高权限(组或实例级)

设置方式:

  • 项目 → Members → 添加用户并选择角色
  • 或 组 → Members(组成员自动继承)

2. 保护分支(非常重要)

防止误推 main/master

项目 → Repository → Branches → Protected branches

可设置:

  • 谁可以 push(一般只允许 Maintainer)
  • 谁可以 merge

3. 组权限(推荐)

Group 管理权限更方便:

Group → Members → 添加用户/子组

子组可继承父组权限。


二、Linux 系统层面权限(运维相关)

1. GitLab 运行用户

GitLab 默认使用:

  • 用户:git
  • 文件目录:/var/opt/gitlab

不要手动改 /var/opt/gitlab 权限,否则会出事。


2. 修改 GitLab 配置文件权限

配置文件:

/etc/gitlab/gitlab.rb

建议:

sudo chmod 600 /etc/gitlab/gitlab.rb
sudo chown root:root /etc/gitlab/gitlab.rb

3. SSH 权限(非常重要)

Git 使用 SSH:

# 用户目录
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R user:user ~/.ssh

三、Web / API 访问控制

1. 禁止公开项目

Admin → Settings → General → Visibility

可设置:

  • 私有(Private)
  • 内部(Internal)
  • 公开(Public)

2. 双因素认证(2FA)

User → Preferences → Account → Enable 2FA

四、常见错误 & 建议

❌ 不要:

  • 直接 chmod 777 GitLab 目录
  • 用 root 跑 Git 操作
  • 所有人均 Maintainer

✅ 建议:

  • 按组管理权限
  • main 分支保护
  • 普通开发用 Developer
  • 运维用 Maintainer

如果你能说具体一点,比如:

  • GitLab CE / EE
  • 项目权限 / SSH / Linux 文件权限
  • 还是 CI 权限问题

我可以直接给你对应的命令或截图级步骤。

0