如何在GitLab-CE中取消阻止LDAP用户

时间:2016-12-06 07:42:28

标签: git ldap gitlab gitlab-ce

当LDAP身份验证用户帐户被锁定时,通过LDAP进行身份验证的某些GitLab用户被阻止。 我该如何解锁? GitLab-EE似乎通过强制同步LDAP状态来提供此功能。 我怎么能用GitLab-CE做到这一点?

5 个答案:

答案 0 :(得分:1)

我基本上直接进入了数据库:

sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq

update public.users set state='active';

注意:这将取消阻止所有用户

答案 1 :(得分:1)

如果LDAP用户被阻止,通常意味着:

  1. 与LDAP服务器的连接中断或无法正常工作(配置文件中的管理员凭据错误)
  2. LDAP中不再存在用户。
  3. 如果用户仍然存在于LDAP中但仍然被随机阻止,则可能表示LDAP服务器存在零星的通信问题。在这种情况下,尝试再次登录应该可以正常工作并取消阻止用户。

答案 2 :(得分:0)

我有一个状态为ldap_blocked的用户 为了解决这个问题,我去了user.state='active'并返回了=> "active",然后我做了user.unlock_access!了不起的努力(可能没有必要)。 然后,用户已在网络控制台中被解除阻止。

更多详细信息

我在这里遵循了指示:https://docs.gitlab.com/12.10/ee/security/unlock_user.html

涉及进入ruby控制台:

sudo gitlab-rails console -e production

然后搜索用户并保存一个临时变量:

userJohn = User.find_by(email: 'john.smith@yourdomain.com')
userJohn.state
=> "ldap_blocked"

然后我通过将用户设置为直接有效似乎有效(指示userJohn.unlock_access!对我不起作用)直接偏离了指令

userJohn.state='active'
=> "active"
userJohn.state #me checking to make sure
=> "active"

答案 3 :(得分:0)

十次登录失败后,用户进入锁定状态。

解锁锁定的用户:

  1. 通过 SSH 连接到您的 GitLab 服务器。
  2. 启动 Ruby on Rails 控制台:

对于综合 GitLab:

sudo gitlab-rails console -e production

对于从源安装:

sudo -u git -H bundle exec rails console -e production

找到要解锁的用户。您可以通过电子邮件或 ID 进行搜索。

user = User.find_by(email: 'admin@local.host')

user = User.where(id: 1).first

解锁用户:

user.unlock_access!
user.save

使用 Control+d 退出控制台

用户现在应该可以登录了。

答案 4 :(得分:-1)

您也可以从用户界面中取消屏蔽帐户:

https://gitlab.com/gitlab-org/gitlab-ce/issues/13179#note_43845387