在 Debian 上部署的 GitLab 中,“设权限”通常包含几个层面,下面按常见场景给你说明。
GitLab 内置 5 种项目/组成员角色:
| 角色 | 权限说明 |
|---|---|
| Guest | 只读(Issue、备注) |
| Reporter | 拉代码、看代码 |
| Developer | 推送代码、建分支 |
| Maintainer | 管理分支、合并、成员 |
| Owner | 项目/组完全控制 |
项目 → Members → Invite member
Groups → Your Group → Members
项目 → Settings → Repository → Protected branches
常见设置:
main / master
develop
GitLab 本身以 git 用户运行:
ps aux | grep gitlab
/var/opt/gitlab # 数据
/etc/gitlab # 配置
/var/log/gitlab # 日志
通常:
chown -R git:git /var/opt/gitlab
⚠️ 不要直接改 /var/opt/gitlab/git-data,用 GitLab 管理仓库
用户自己添加:
User → Preferences → SSH Keys
sudo gitlab-rails console
user = User.find_by(username: 'xxx')
user.admin = true
user.save!
Settings → General → Merge request approvals
| 需求 | 做法 |
|---|---|
| 不让 Developer 推 main | Protected branch |
| 团队统一管理 | Group + Role |
| 外部人员只读 | Guest |
| 禁止某账号 | Block user |
| 审计操作 | Admin → Audit Events |
如果你能说明:
我可以给你更精确的操作步骤。