centos

GitLab在CentOS上的权限设置指南

小樊
43
2025-10-06 23:53:29
栏目: 智能运维

GitLab在CentOS上的权限设置指南

1. 用户与组管理

GitLab需专用用户(通常为git)运行服务,避免使用root。首先创建用户及所属组:

sudo groupadd git  # 创建git组
sudo useradd -r -g git -d /var/opt/gitlab -s /bin/bash git  # 创建系统用户git,归属git组,指定家目录

若需将其他用户加入git组(便于协作):

sudo usermod -aG git 目标用户名  # 将用户添加到git组

2. 文件系统权限设置

GitLab核心数据目录(如/var/opt/gitlab)的所有权需设为git:git,权限设为755(所有者可读写执行,组及其他用户仅可读执行):

sudo chown -R git:git /var/opt/gitlab  # 递归修改所有权
sudo chmod -R 755 /var/opt/gitlab      # 递归设置权限

若存在自定义数据目录(如/home/git/gitlab),需同步调整:

sudo chown -R git:git /home/git/gitlab
sudo chmod -R 755 /home/git/gitlab

3. GitLab配置文件权限

编辑/etc/gitlab/gitlab.rb(GitLab主配置文件),确保以下关键路径的权限设置正确:

git_data_dirs({ "default" => { "path" => "/var/opt/gitlab", "permissions" => "755" } })  # 数据目录权限
log_dir("/var/log/gitlab", "755")  # 日志目录权限
tmp_dir("/var/tmp/gitlab", "1777") # 临时目录权限(1777允许所有用户创建文件,但仅所有者可删除)

修改后需重新配置GitLab使设置生效:

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

4. 服务运行用户设置

通过systemd管理GitLab服务时,需确认服务文件(/etc/systemd/system/gitlab.service/usr/lib/systemd/system/gitlab-runsvdir.service)中的UserGroup设置为git

[Service]
User=git
Group=git

修改后需重新加载systemd并重启服务:

sudo systemctl daemon-reload
sudo systemctl restart gitlab-runsvdir

5. SELinux配置(若启用)

若系统启用SELinux(sestatus显示Enforcing),需调整策略避免GitLab被拦截:

6. 防火墙设置

允许HTTP(80)和HTTPS(443)流量通过防火墙,确保外部可访问GitLab:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

7. GitLab项目级权限管理(Web界面)

权限设置需结合Web界面完成,核心角色包括:

操作步骤:

  1. 登录GitLab管理员账户;
  2. 进入项目→SettingsMembers
  3. 输入用户名,选择对应角色,点击Invite即可。

0
看了该问题的人还看了