在 Debian 上配置 GitLab 的权限,通常分为 系统层(Linux/Debian) 和 GitLab 应用层(用户/组/项目权限) 两部分。下面按常见场景说明。
GitLab 中权限主要通过 角色 控制:
| 角色 | 权限说明 |
|---|---|
| Guest | 只读、提 Issue |
| Reporter | 读代码、下 CI |
| Developer | 推代码、建分支 |
| Maintainer | 管理分支、成员、保护分支 |
| Owner | 完全控制(组/项目) |
设置方法
项目 / 组 → Members → Invite member
选择角色 → 保存
项目 → Settings → Repository → Protected branches
Groups → 新建 Group
将用户加入 Group
项目继承 Group 权限
GitLab 在 Debian 上默认使用:
cat /etc/passwd | grep git
一般是:
git:x:...
不要手动改 git 用户权限,容易坏
GitLab 数据目录:
/var/opt/gitlab
/var/log/gitlab
/etc/gitlab
正确方式(不要乱 chmod):
sudo gitlab-ctl reconfigure
用户使用 SSH 拉代码:
# 在用户机器上
ssh-keygen -t ed25519
# 把公钥加到 GitLab
User → Preferences → SSH Keys
Debian 上 SSH 服务:
sudo systemctl status ssh
如果你是 裸仓库(非 Omnibus GitLab):
sudo chown -R git:git /srv/git/repo.git
sudo chmod -R 750 /srv/git/repo.git
chmod 777/var/opt/gitlabgitlab-ctl reconfigure我可以更精确帮你,比如:
直接说你的使用场景即可。