518.md 4.0 KB
Newer Older
Lab机器人's avatar
readme  
Lab机器人 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
# LDAP Rake tasks

> 原文:[https://docs.gitlab.com/ee/administration/raketasks/ldap.html](https://docs.gitlab.com/ee/administration/raketasks/ldap.html)

*   [Check](#check)
*   [Run a group sync](#run-a-group-sync-starter-only)
*   [Rename a provider](#rename-a-provider)
    *   [Example](#example)
    *   [Other options](#other-options)

# LDAP Rake tasks[](#ldap-rake-tasks-core-only "Permalink")

以下是与 LDAP 相关的 Rake 任务.

## Check[](#check "Permalink")

LDAP 检查 Rake 任务将测试`bind_dn``password`凭据(如果已配置),并将列出 LDAP 用户的样本. 此任务也作为`gitlab:check`任务的一部分执行,但可以使用以下命令独立运行.

**全部安装**

```
sudo gitlab-rake gitlab:ldap:check 
```

**源安装**

```
sudo -u git -H bundle exec rake gitlab:ldap:check RAILS_ENV=production 
```

默认情况下,该任务将返回 100 个 LDAP 用户的样本. 通过将数字传递给检查任务来更改此限制:

```
rake gitlab:ldap:check[50] 
```

## Run a group sync[](#run-a-group-sync-starter-only "Permalink")

[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/14735) in [GitLab Starter](https://about.gitlab.com/pricing/) 12.2.

The following task will run a [group sync](../auth/ldap/index.html#group-sync-starter-only) immediately. This is valuable when you’d like to update all configured group memberships against LDAP without waiting for the next scheduled group sync to be run.

**注意:**如果您想更改执行群组同步的频率,请改为[调整 Cron 时间表](../auth/ldap/index.html#adjusting-ldap-group-sync-schedule-starter-only) .

**全部安装**

```
sudo gitlab-rake gitlab:ldap:group_sync 
```

**源安装**

```
bundle exec rake gitlab:ldap:group_sync 
```

## Rename a provider[](#rename-a-provider "Permalink")

如果您在`gitlab.yml``gitlab.rb`更改 LDAP 服务器 ID,则将需要更新所有用户身份,否则用户将无法登录.输入新旧提供者,此任务将更新数据库中所有匹配的身份.

`old_provider``new_provider`是从前缀`ldap`加上配置文件中的 LDAP 服务器 ID 派生的. 例如,在`gitlab.yml``gitlab.rb`您可能会看到 LDAP 配置,如下所示:

```
main:
  label: 'LDAP'
  host: '_your_ldap_server'
  port: 389
  uid: 'sAMAccountName'
  ... 
```

`main`是 LDAP 服务器 ID. 唯一的提供者在一起就是`ldapmain` .

> **警告** :如果输入了错误的新提供程序,用户将无法登录.如果发生这种情况,请使用错误的提供程序作为`old_provider`并使用正确的提供程序作为`new_provider`再次运行任务.

**全部安装**

```
sudo gitlab-rake gitlab:ldap:rename_provider[old_provider,new_provider] 
```

**源安装**

```
bundle exec rake gitlab:ldap:rename_provider[old_provider,new_provider] RAILS_ENV=production 
```

### Example[](#example "Permalink")

考虑从默认服务器 ID `main` (完整提供程序`ldapmain` )开始. 如果将`main`更改为`mycompany` ,则`new_provider``ldapmycompany` . 要重命名所有用户身份,请运行以下命令:

```
sudo gitlab-rake gitlab:ldap:rename_provider[ldapmain,ldapmycompany] 
```

输出示例:

```
100 users with provider 'ldapmain' will be updated to 'ldapmycompany'.
If the new provider is incorrect, users will be unable to sign in.
Do you want to continue (yes/no)? yes

User identities were successfully updated 
```

### Other options[](#other-options "Permalink")

如果您未指定`old_provider``new_provider` ,则会提示您输入它们:

**全部安装**

```
sudo gitlab-rake gitlab:ldap:rename_provider 
```

**源安装**

```
bundle exec rake gitlab:ldap:rename_provider RAILS_ENV=production 
```

**输出示例:**

```
What is the old provider? Ex. 'ldapmain': ldapmain
What is the new provider? Ex. 'ldapcustom': ldapmycompany 
```

此任务还接受`force`环境变量,该变量将跳过确认对话框:

```
sudo gitlab-rake gitlab:ldap:rename_provider[old_provider,new_provider] force=yes 
```