GitLab用户可通过Web界面或命令行创建与管理。
gitlab-rake工具快速操作,例如创建用户命令为sudo gitlab-rake gitlab:import:users[USERNAME,EMAIL,PASSWORD](替换为实际值);删除用户需通过数据库操作(需提前备份)。组是权限分配的核心单元,可实现批量用户权限管理。
sudo groupadd groupname(如developers组)。sudo usermod -aG groupname username(如sudo usermod -aG developers testuser)或sudo gitlab-rake gitlab:add_to_group[user="gitlabuser",group="git"]。GitLab采用分层权限模型,覆盖全局、组、项目三个层级,确保权限精细化控制。
GitLab定义了5种核心角色,权限从低到高排列:
dev1设为Developer),可覆盖全局权限。developers组),在组详情页设置权限(如Maintainer),组内用户自动继承该权限,适用于团队协作。对于企业用户,可通过LDAP实现用户信息集中管理,减少维护成本。
/etc/gitlab/gitlab.rb文件,启用LDAP并填写服务器信息(如主机地址、端口、绑定DN、用户搜索base):gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main:
label: 'LDAP'
host: 'ldap.example.com'
port: 389
uid: 'uid'
method: 'plain'
bind_dn: 'cn=admin,dc=example,dc=com'
password: 'ldappassword'
user_search_base: 'ou=users,dc=example,dc=com'
user_search_filter: '(uid=%{username})'
EOS
sudo gitlab-ctl reconfigure重新配置GitLab,再执行sudo gitlab-rake gitlab:ldap:add同步LDAP用户。/etc/gitlab/gitlab.rb)或数据库前,务必备份数据(如sudo gitlab-backup create),防止误操作导致数据丢失。gitlab-rake工具,避免数据损坏。telnet ldap.example.com 389),并验证绑定DN与密码的正确性。