如何在GitLab中默认禁用用户的创建项目权限?
我正在使用带有LDAP身份验证的OmnibusGitLab CE系统 由于LDAP身份验证,我公司的任何人都可以登录到GitLab,并创建一个与此用户关联的新GitLab用户帐户(根据我的理解) 我想修改它,以便默认情况下,此新用户(可以根据其LDAP凭据自动登录)无法创建新项目 然后,我作为管理员,可能会处理大多数新项目的创建 我可能会将创建项目权限授予一些特殊用户。(更新:这适用于较新版本的GitLab>=v7.8… 这不是如何在GitLab中默认禁用用户的创建项目权限?,gitlab,Gitlab,我正在使用带有LDAP身份验证的OmnibusGitLab CE系统 由于LDAP身份验证,我公司的任何人都可以登录到GitLab,并创建一个与此用户关联的新GitLab用户帐户(根据我的理解) 我想修改它,以便默认情况下,此新用户(可以根据其LDAP凭据自动登录)无法创建新项目 然后,我作为管理员,可能会处理大多数新项目的创建 我可能会将创建项目权限授予一些特殊用户。(更新:这适用于较新版本的GitLab>=v7.8… 这不是config/gitlab.yml中的设置,而是管理员GUI中的设置
config/gitlab.yml
中的设置,而是管理员GUI中的设置
只需导航到https://___[您的GitLab URL]\uuuuuuu/admin/application\u settings/general#js帐户设置
,并将默认项目限制设置为0
然后,您可以在https://___[您的GitLab URL]\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu/admin/users
有关在v7.7和v7.8之间更改的更多设置,请参阅
git diff origin/7-7-stable:config/gitlab.yml.example origin/7-8-stable:config/gitlab.yml.example
这是我的快速而肮脏的Python脚本,如果您已经创建了一些用户,并且希望更改所有现有用户,使他们无法自己创建项目,您可以使用该脚本:
!/usr/bin/env python
导入请求
导入json
gitlab_url=”https:///api/v3"
标头={'PRIVATE-TOKEN':'''}
def将用户项目限制设置为零(用户):
user_id=str(user['id'])
put=requests.put(gitlab_url+“/users/”+user_id+“?项目限制=0”,标题=headers)
如果put.status_code!=200:
打印“!!!更改失败,用户id=%s,状态代码=%s”%(用户id,put.status\u代码)
出口(1)
其他:
打印“id为%s的用户已更改!”%user\u id
已处理的用户数=0
第1页
总页数=1
打印“处理用户的第一页…”
而所有新用户的页面号:
请参阅尼克·梅里尔的回答
对于所有现有用户:
这是更改项目限制的最佳快速方法:
$ gitlab-rails runner "User.where(projects_limit: 10).each { |u| u.projects_limit = 0; u.save }"
$ gitlab-rails runner "User.where(projects_limit: 10).each { |u| u.projects_limit = 0; u.save }"