温馨提示×

gitlab权限debian怎么设

小樊
38
2026-10-17 04:06:19
栏目: 智能运维

在 Debian 上配置 GitLab 的权限,通常分为 系统层(Linux/Debian) 和 GitLab 应用层(用户/组/项目权限) 两部分。下面按常见场景说明。


一、GitLab 应用层权限(最常用)

1️⃣ 用户角色(项目/组权限)

GitLab 中权限主要通过 角色 控制:

角色 权限说明
Guest 只读、提 Issue
Reporter 读代码、下 CI
Developer 推代码、建分支
Maintainer 管理分支、成员、保护分支
Owner 完全控制(组/项目)

设置方法

项目 / 组 → Members → Invite member
选择角色 → 保存

2️⃣ 保护分支(防止误推)

项目 → Settings → Repository → Protected branches
  • 允许 Developer 还是 Maintainer 推送
  • 是否允许 force push

3️⃣ 组权限(推荐)

Groups → 新建 Group
将用户加入 Group
项目继承 Group 权限

二、Debian 系统层权限(GitLab 运行相关)

1️⃣ GitLab 默认用户

GitLab 在 Debian 上默认使用:

cat /etc/passwd | grep git

一般是:

git:x:...

不要手动改 git 用户权限,容易坏


2️⃣ GitLab 文件权限

GitLab 数据目录:

/var/opt/gitlab
/var/log/gitlab
/etc/gitlab

正确方式(不要乱 chmod):

sudo gitlab-ctl reconfigure

3️⃣ SSH 权限(用户访问 GitLab)

用户使用 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/gitlab
  • 用 root 跑 git 命令
  • 忘记 gitlab-ctl reconfigure

五、你可以告诉我

我可以更精确帮你,比如:

  • ✅ GitLab CE / EE?
  • ✅ Omnibus 安装还是源码?
  • ✅ 想控制“谁能推 master”?
  • ✅ 还是 Debian 系统用户权限?

直接说你的使用场景即可。

0 踩