温馨提示×

gitlab linux权限怎么配

小樊
39
2026-09-22 18:19:51
栏目: 智能运维

下面按常见场景给你讲 GitLab 在 Linux 服务器上的权限配置,包括系统层权限和GitLab 自身权限。


一、GitLab 运行用户与目录权限(系统层)

1. GitLab 默认用户

GitLab 安装后通常使用:

  • 用户:git
  • 组:git

查看:

id git

2. 关键目录权限

常见目录:

/var/opt/gitlab       # 数据目录
/var/log/gitlab       # 日志
/etc/gitlab           # 配置

推荐权限:

sudo chown -R git:git /var/opt/gitlab
sudo chmod -R 755 /var/opt/gitlab

⚠️ 不要随意改成 777


二、SSH 访问权限(开发者提交代码)

1. 用户使用 SSH Key

# 开发者本地生成
ssh-keygen -t ed25519

# 公钥加到 GitLab
User → Preferences → SSH Keys

2. Linux 服务器 SSH 配置

编辑:

/etc/ssh/sshd_config

确保:

PubkeyAuthentication yes
PasswordAuthentication no   # 建议关闭

重启:

sudo systemctl restart sshd

三、GitLab 项目 / 组权限(Web 层)

GitLab 权限模型:

角色 权限
Guest 只读 issue
Reporter 读代码
Developer 提交代码
Maintainer 管理分支/成员
Owner 全部

配置路径:

Project → Members → Add member

推荐做法:

  • 个人项目:Developer
  • 核心维护:Maintainer
  • 禁止直接推 master(用保护分支)

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

Project → Settings → Repository → Protected Branches

建议:

  • main / master:Only Maintainers
  • 开发者走 Merge Request

五、Linux 文件权限常见问题

1. push 报错 permission denied

检查:

ls -ld /var/opt/gitlab/git-data

修复:

sudo chown -R git:git /var/opt/gitlab/git-data

2. 502 错误

通常是权限或内存问题:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

六、企业生产建议

  • ✅ 用 GitLab Group 管理团队
  • ✅ SSH + MR 流程
  • ✅ 禁用 root 登录
  • ✅ 定期备份 /var/opt/gitlab

如果你能说清楚:

  • 是 GitLab CE / EE
  • 自建还是 Docker
  • 遇到什么具体错误

我可以直接帮你给对应配置命令。

0 踩