温馨提示×

linux gitlab权限怎么设

小樊
43
2026-09-13 14:13:36
栏目: 智能运维

在 Linux 上部署或使用 GitLab 时,“权限怎么设”通常分几种场景。我先按最常见情况给你讲,你看看是哪一类,再细化。


一、GitLab 用户 / 组权限(项目级,最常用)

1️⃣ 项目成员角色(GitLab 自带)

在 项目 → Members 中添加用户,权限分 5 级:

角色 权限说明
Guest 只能看 issue、wiki
Reporter 可克隆、看代码,不能 push
Developer 可 push、建分支、提 MR
Maintainer 可管理分支、成员、CI
Owner 项目最高权限(一般只有管理员)

✅ 普通开发给 Developer
✅ 技术负责人给 Maintainer


二、Linux 系统层权限(GitLab 服务器本身)

如果你说的是 Linux 上 GitLab 服务的文件/目录权限:

1️⃣ GitLab 默认用户

GitLab 默认使用:

gitlab-runner
git

2️⃣ 仓库目录权限

GitLab 代码仓库位置:

/var/opt/gitlab/git-data/repositories

⚠️ 不要手动改权限,否则 GitLab 会坏
正确方式:

sudo gitlab-ctl reconfigure

3️⃣ 普通用户不能直接操作仓库

Linux 用户 ≠ GitLab 用户
代码权限由 GitLab 控制,不是 Linux chmod


三、SSH Key 权限(开发者怎么访问)

开发者端

ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub

GitLab 端

User → Preferences → SSH Keys 添加公钥

✅ 不需要 Linux 服务器账号
✅ 权限由 GitLab 项目角色控制


四、Group(组)权限(公司常用)

建组

Groups → New group

权限模型

  • Group:控制大权限
  • Project:可单独覆盖

示例:

group: backend (Developer)
  ├ project A (继承)
  ├ project B (Maintainer)

五、保护分支(非常重要)

项目 → Settings → Repository → Protected branches

推荐设置:

  • main / master:Only Maintainer 可 push
  • 允许 Developer 提 Merge Request

六、CI / Runner 权限

sudo gitlab-runner register

Runner 权限:

  • 项目级
  • 组级
  • 共享 Runner(管理员控制)

七、常见错误 ❌

❌ 手动 chmod 仓库目录
❌ 给开发 Linux 服务器账号
❌ main 分支人人可 push
❌ 用 root 跑 GitLab 服务


你可以告诉我:

1️⃣ 是 GitLab 网页权限 还是 Linux 服务器权限?
2️⃣ 是 自己搭建的 GitLab 还是 gitlab.com?
3️⃣ 想控制的是 人 / 分支 / 服务器文件?

我可以直接给你具体命令或界面操作步骤。

0 踩