- 默认项目限制
- 最大附件大小
- 最大推送大小
- 个人访问令牌前缀
- 仓库大小限制
- 会话持续时间
- 为新访问令牌设置过期时间
- 允许顶级群组所有者创建服务账号
- 限制 SSH 密钥的有效期
- 限制访问令牌的生命周期
- 用户 OAuth 应用程序设置
- 禁用用户个人资料名称更改
- 阻止用户创建组织
- 阻止新用户创建顶级群组
- 阻止非成员创建项目和群组
- 允许用户将起个人资料设为私有
- 将新用户的个人资料默认设置为私有
- 阻止用户删除其账户
- 故障排查
账户和限制设置
默认项目限制
您可以配置新用户能在其个人命名空间中创建的默认最大项目数。此限制仅影响更改设置后创建的新用户账户。此设置对现有用户不具有追溯性,但您可以单独编辑现有用户的项目限制。
为新用户配置个人命名空间中的最大项目数:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 增加或减少 默认项目限制 值。
如果您将 默认项目限制 设置为 0,则不允许用户在其用户个人命名空间中创建项目。但是,仍然可以在群组中创建项目。
针对用户的项目限制
您可以编辑特定用户,并更改此用户可以在其个人命名空间中创建的最大项目数:
- 在左侧导航栏底部,选择 管理中心。
- 选择 概览 > 用户。
- 从用户列表中选择一个用户。
- 选择 编辑。
- 增加或减少 项目限制 值。
最大附件大小
从 10 MB 变更为 100 MB 于 15.7 版本。
评论和回复中附件的最大文件大小为 100 MB。 更改最大附件大小:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 通过更改 最大附件大小(MB) 中的值来调整文件的大小。
如果您选择的大小大于为 Web 服务器配置的值,您可能会收到错误消息。阅读故障排查部分了解更多详情。
最大推送大小
您可以更改实例的最大推送大小:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 通过更改 最大推送大小(MB) 中的值来调整文件的大小。
对于 SaaS 版的限制,查看极狐GitLab 应用限制。
个人访问令牌前缀
您可以为个人访问令牌指定前缀。您可以使用前缀来更快地找到令牌,或者与自动化工具一起使用。
默认前缀是 glpat-
,但管理员可以更改它。
设置前缀
更改默认全局前缀:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 填写 个人访问令牌前缀 字段。
- 单击 保存更改。
仓库大小限制
极狐GitLab 实例中的仓库可以快速增长,尤其是在您使用 LFS 时,它们的大小可以成倍增长,迅速消耗可用存储。 为防止这种情况发生,您可以为仓库的大小设置硬限制。 您可以全局、按群组或按项目设置此限制,每个项目的限制具有最高优先级。
有许多用例可以设置仓库大小的限制。 例如,考虑以下工作流程:
- 您的团队开发的应用程序需要将大文件存储在应用程序仓库中。
- 尽管您已在项目中启用 Git LFS,但您的存储量已显着增长。
- 在超出可用存储空间之前,您设置了每个存储库 10 GB 的限制。
工作原理
只有极狐GitLab 管理员可以设置这些限制。将限制设置为 0
意味着没有限制。
这些设置可以在以下位置找到:
- 每个项目的设置:
- 在项目的主页上,导航到 设置 > 通用。
- 填写 命名、主题、头像 部分中的 仓库大小限制 (MB) 字段。
- 单击 保存更改。
- 每个群组的设置:
- 在群组主页,导航至 设置 > 通用。
- 在 名称与可见性 部分中填写 仓库大小限制(MB) 字段。
- 单击 保存更改。
- 全局设置:
- 在左侧边栏中,选择 搜索或转到。
- 选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 填写 每个仓库的大小限制 (MB) 字段。
- 单击 保存更改。
新项目的第一次推送,包括 LFS 对象,会检查大小。 如果它们的大小总和超过允许的最大仓库大小,则拒绝推送。
有关手动清除文件的详细信息,查看使用 Git 减少仓库大小。
会话持续时间
自定义默认会话持续时间
您可以更改允许用户保持登录状态却无活动的时长。
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 在 会话持续时间(分钟) 下设置持续时间。
- 单击 保存更改。
-
重启极狐GitLab 让配置生效。
将绘画持续时间(分钟)设为0
会导致您的极狐GitLab 实例无法使用。
如果启用了记住我,则用户的会话可以在不确定的时间内,一直保持活动状态。
有关详细信息,请参阅用于登录的 cookie。
打开或关闭记住我
打开或关闭记住我设置的功能引入于 16.0 版本。
用户可以在登录时选择记住我复选框,从特定浏览器访问时,会话将在不确定的时间内,一直保持活跃。如果您需要会话以出于安全或合规性的目的而到期,则可以关闭此设置。关闭此设置,将确保用户的会话在自定义会话持续时间中的不活动分钟数之后到期。
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 选择或清除 记住我 复选框,可以打开或关闭此设置。
启用 2FA 时自定义 Git 操作的会话持续时间
two_factor_for_cli
的功能标志。在 SaaS 上,此功能不可用。此功能尚未准备好用于生产用途。此功能标志同时影响 Git over SSH 操作的 2FA。当启用 2FA 时,极狐GitLab 管理员可以选择自定义 Git 操作的会话持续时间(以分钟为单位)。默认值为 15,可以设置为 1 到 10080 之间的值。
要设置这些会话的有效时间限制:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 填写 启用 2FA 时 Git 操作的会话持续时间(分钟)字段。
- 单击 保存更改。
为新访问令牌设置过期时间
- 自极狐GitLab 17.3 引入。
先决条件:
- 您必须是管理员。
您可以要求所有新的访问令牌都应该有过期时间。此设置默认开启并适用于:
- 项目访问令牌。
- 群组访问令牌。
- 非服务账户用户的个人访问令牌。
针对服务账号的个人访问令牌,可在p应用设置 API中使用 service_access_tokens_expiration_enforced
设置。
为新访问令牌设置过期时间:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 选择个人/项目/群组访问令牌过期时间勾选框。
- 选择 保存更改。
当您要求新的访问令牌要有过期时间时:
- 用户必须设置一个到期日期,该日期不能超过允许的新访问令牌的生命周期。
- 要控制新访问令牌的最大生命周期,请使用限制访问令牌的生命周期设置。
允许顶级群组所有者创建服务账号
- 自极狐GitLab 17.5 引入,对私有化部署实例使用名为
allow_top_level_group_owners_to_create_service_accounts
的功能开关。默认禁用。- 极狐GitLab 17.6 中正式 GA,
allow_top_level_group_owners_to_create_service_accounts
开关被移除。
默认情况下,在私有化部署实例中,顶级群组所有者不能创建服务账号。极狐GitLab 管理员可以允许顶级群组所有者创建服务账号。
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 在服务账号创建下面,选择允许顶级群组所有者创建服务账号勾选框。
- 选择 保存更改。
限制 SSH 密钥的有效期
用户可以选择指定 SSH 密钥的有效期。 有效期不是必需的,可以设置为任意天数。
- 在极狐GitLab 17.6 中可以使用名为
buffered_token_expiration_limit
的开关 来修改最大可允许时间限制仓库,并将其增加到 400天。默认禁用。
SSH 密钥是访问极狐GitLab 的用户凭据。 但是,具有安全要求的组织可能希望通过要求定期轮换这些密钥来实施更多保护。
设置有效期
只有极狐GitLab 管理员可以设置有效期。留空意味着没有限制。
设置 SSH 密钥的有效期,请执行以下操作:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 填写 SSH 密钥的的最长有效期(天) 字段。
- 单击 保存更改。
一旦设置了 SSH 密钥的有效期:
- 要求用户设置一个不迟于新 SSH 密钥允许使用期限的到期日期。
- 对现有 SSH 密钥应用有效期限制。没有有效期,或有效期大于最大值的密钥立即变为无效。
限制访问令牌的生命周期
- 在极狐GitLab 17.6 中可以使用名为
buffered_token_expiration_limit
的开关 来修改最大可允许时间限制仓库,并将其增加到 400天。默认禁用。
用户可以选择性地指定访问令牌的有效期,包括个人、群组和项目访问令牌。生命周期不是必要项,
- 默认为 365 天。
- 如果开启了
buffered_token_expiration_limit
,则为 400 天。
如果此设置为空,则默认允许访问令牌的最长有效期为:
- 默认为 365 天。
- 如果开启了
buffered_token_expiration_limit
,则为 400 天。
访问令牌是访问极狐GitLab 的用户凭据。然而,具有安全要求的组织可能希望通过要求定期轮换这些密钥来实施更多保护。
设置有效期
只有极狐GitLab 管理员可以设置有效期。留空表示没有限制。
要设置访问令牌的有效期,请执行以下操作:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 填写 访问令牌的最长有效期(天) 字段。
- 单击 保存更改。
一旦设置了访问令牌的有效期:
- 为新的访问令牌应用有效期,并要求用户设置到期日期,不迟于允许的有效期。
- 三小时后,撤销没有到期日期,或超过允许有效期的旧令牌。三个小时的时间允许管理员在撤销之前,更改或删除有效期。
用户 OAuth 应用程序设置
先决条件:
您必须是管理员。
用户 OAuth 应用程序设置用来控制用户是否可以将极狐GitLab OAuth 提供商来注册应用程序。此设置会影响用户拥有的 OAuth 应用程序,但是不会影响群组级别的 OAuth 应用程序。
如要开启或关闭用户 OAuth 应用设置:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 选中或清除 用户 OAuth 应用 勾选框。
- 选择 保存更改。
禁用用户个人资料名称更改
为了保持审计事件中用户详细信息的完整性,极狐GitLab 管理员可以选择禁用用户更改其个人资料名称的能力。
操作步骤:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 选中 禁止用户更改个人资料名称 复选框。
阻止用户创建组织
- 自极狐GitLab 16.7 引入,并使用名为
ui_for_organizations
的开关。默认禁用。
ui_for_organizations
。在 JihuLab.com 上,此功能默认不可用。此功能暂时还未生产就绪。默认情况下,用户可以创建组织。极狐GitLab 管理员可以阻止用户创建组织。
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 清除 允许用户创建组织 勾选框。
阻止新用户创建顶级群组
引入于 15.5 版本。
默认情况下,新用户可以创建顶级群组。极狐GitLab 管理员可以阻止新用户创建顶级群组:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 清除 允许新用户创建顶级群组 勾选框。
- 选择 保存更改。
阻止非成员创建项目和群组
- 自极狐GitLab 16.8 引入。
默认情况下,拥有访客角色的用户是可以创建项目和群组的。极狐GitLab 管理员可以阻止这种行为:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 清除 允许具有访客角色的用户创建群组或个人项目 勾选框。
- 选择 保存更改。
允许用户将起个人资料设为私有
- 自极狐GitLab 17.1 引入,并使用名为
disallow_private_profiles
的开关。默认禁用。
默认情况下,用户可以将他们的个人资料设为私有。极狐GitLab 管理员可以禁用此设置,以阻止用户将他们的配置文件设为私有:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 选中 允许用户将他们的个人资料设为私有 勾选框。
- 选择 保存更改。
将新用户的个人资料默认设置为私有
引入于 15.8 版本。
默认情况下,新创建的用户具有公开配置文件。极狐GitLab 管理员可以设置新用户默认拥有私有配置文件:
- 在左侧导航栏底部,选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 选中 默认将新用户的个人资料设为私有 复选框。
- 选择 保存更改。
阻止用户删除其账户
- 子极狐GitLab 16.0 引入,并使用名为 deleting_account_disabled_for_users 的功能标志。默认禁用。
默认情况下,用户可以删除自己的账户。极狐GitLab 管理员可以阻止用户删除自己的账户:
- 在左侧边栏中,选择 搜索或转到。
- 选择 管理中心。
- 选择 设置 > 通用。
- 展开 账户和限制。
- 清除 允许用户删除自己的账户 复选框。
故障排查
413 Request Entity Too Large
将文件附加到评论或回复时显示 413 Request Entity Too Large
错误,最大附件大小可能大于 Web 服务器的允许值。
要将 Linux 软件包安装中的最大附件大小增加到 200 MB,您可能需要在增加最大附件大小之前,将以下行添加到 /etc/gitlab/gitlab.rb
:
nginx['client_max_body_size'] = "200m"
此仓库已超出其大小限制
如果您在 Rails 异常日志中收到间歇性推送错误,如下所示:
Your push has been rejected, because this repository has exceeded its size limit.
例行维护任务可能会导致您的仓库大小增加。 为了解决这个问题,考虑中短期的使用,执行以下操作之一: