GitLab在Linux中的权限设置主要包括用户/组管理、项目权限配置及系统级权限调整,具体步骤如下:
创建用户和组
# 创建git组及用户
sudo groupadd git
sudo useradd -g git git
sudo mkdir /home/git
sudo chown git:git /home/git
(注:实际生产环境建议使用gitlab-rake
命令或Web界面管理用户。)
配置SSH密钥(用于免密访问)
# 为用户添加SSH公钥(需用户自行生成密钥对)
mkdir -p /home/git/.ssh
echo "ssh-rsa AAAAB3NzaC1yc2E... user@example.com" >> /home/git/.ssh/authorized_keys
chmod 600 /home/git/.ssh/authorized_keys
设置项目可见性与成员权限
Guest
、Developer
、Owner
等),不同角色对应不同权限:
保护分支(限制推送权限)
main
),设置允许推送的成员或组。修改GitLab运行用户(需编辑配置文件)
sudo vim /etc/gitlab/gitlab.rb
# 修改以下参数(确保与创建的用户/组一致)
unicorn['user'] = 'git'
unicorn['group'] = 'git'
nginx['user'] = 'www-data'
nginx['group'] = 'www-data'
保存后执行:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
数据目录权限(确保服务正常运行)
sudo chown -R git:git /var/opt/gitlab/git-data
sudo chmod -R 750 /var/opt/gitlab/git-data
/var/opt/gitlab/gitlab-rails/config/initializers/authorization.rb
文件,可定制权限逻辑(需谨慎操作)。/etc/gitlab/gitlab.rb
中启用LDAP认证。gitlab-rake gitlab:audit:users
命令审计用户权限。以上操作参考自,具体步骤可根据实际需求调整。