在 Linux 上部署或使用 GitLab 时,“权限怎么设”通常分几种场景。我先按最常见情况给你讲,你看看是哪一类,再细化。
在 项目 → Members 中添加用户,权限分 5 级:
| 角色 | 权限说明 |
|---|---|
| Guest | 只能看 issue、wiki |
| Reporter | 可克隆、看代码,不能 push |
| Developer | 可 push、建分支、提 MR |
| Maintainer | 可管理分支、成员、CI |
| Owner | 项目最高权限(一般只有管理员) |
✅ 普通开发给 Developer
✅ 技术负责人给 Maintainer
如果你说的是 Linux 上 GitLab 服务的文件/目录权限:
GitLab 默认使用:
gitlab-runner
git
GitLab 代码仓库位置:
/var/opt/gitlab/git-data/repositories
⚠️ 不要手动改权限,否则 GitLab 会坏
正确方式:
sudo gitlab-ctl reconfigure
Linux 用户 ≠ GitLab 用户
代码权限由 GitLab 控制,不是 Linux chmod
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub
User → Preferences → SSH Keys 添加公钥
✅ 不需要 Linux 服务器账号
✅ 权限由 GitLab 项目角色控制
Groups → New group
示例:
group: backend (Developer)
├ project A (继承)
├ project B (Maintainer)
项目 → Settings → Repository → Protected branches
推荐设置:
main / master:Only Maintainer 可 pushsudo gitlab-runner register
Runner 权限:
❌ 手动 chmod 仓库目录
❌ 给开发 Linux 服务器账号
❌ main 分支人人可 push
❌ 用 root 跑 GitLab 服务
1️⃣ 是 GitLab 网页权限 还是 Linux 服务器权限?
2️⃣ 是 自己搭建的 GitLab 还是 gitlab.com?
3️⃣ 想控制的是 人 / 分支 / 服务器文件?
我可以直接给你具体命令或界面操作步骤。