Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GitLab中默认禁用用户的创建项目权限?_Gitlab - Fatal编程技术网

如何在GitLab中默认禁用用户的创建项目权限?

如何在GitLab中默认禁用用户的创建项目权限?,gitlab,Gitlab,我正在使用带有LDAP身份验证的OmnibusGitLab CE系统 由于LDAP身份验证,我公司的任何人都可以登录到GitLab,并创建一个与此用户关联的新GitLab用户帐户(根据我的理解) 我想修改它,以便默认情况下,此新用户(可以根据其LDAP凭据自动登录)无法创建新项目 然后,我作为管理员,可能会处理大多数新项目的创建 我可能会将创建项目权限授予一些特殊用户。(更新:这适用于较新版本的GitLab>=v7.8… 这不是config/gitlab.yml中的设置,而是管理员GUI中的设置

我正在使用带有LDAP身份验证的OmnibusGitLab CE系统

由于LDAP身份验证,我公司的任何人都可以登录到GitLab,并创建一个与此用户关联的新GitLab用户帐户(根据我的理解)

我想修改它,以便默认情况下,此新用户(可以根据其LDAP凭据自动登录)无法创建新项目

然后,我作为管理员,可能会处理大多数新项目的创建

我可能会将创建项目权限授予一些特殊用户。

更新:这适用于较新版本的GitLab>=v7.8… 这不是
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 }"