gitlab ldap用户锁定解锁
2021-11-29 本文已影响0人
大鹏一怒乘风起
现象
This user cannot be unlocked manually from GitLab
A blocked user cannot:
- Log in
- Access Git repositories
解决方法
为这个账号解锁的步骤如下:
1、在 gitlab console 中修改账号状态
[root@code-get ~]# docker exec -it 48f189882ca bash
root@48f6189418ca:/# gitlab-rails console
-------------------------------------------------------------------------------------
GitLab: 11.1.4 (63daf37)
GitLab Shell: 7.1.4
postgresql: 9.6.8
-------------------------------------------------------------------------------------
Loading production environment (Rails 4.2.10)
irb(main):002:0> user = User.find_by_email("xxx@xxx.com")
=> #<User id:326 @xxx>
irb(main):003:0> user.state
=> "active"
irb(main):004:0> user.state = "active"
=> "active"
irb(main):005:0> user.save
=> true
irb(main):006:0>
irb(main):007:0*
irb(main):008:0* exit
修改完成后用户可以正常使用 gitlab 相关功能。此时 gitlab 会继续从 ldap 中同步数据,之前同步错误的数据会被修正。账号变成正常可用。
不过还是可能出现部分账号无法同步修正的情况,这时就需要手动修改用户的 ldap uid。
2、直接在页面上修改锁定账号的 LDAP uid。
以xxx为例:gitlab 从 ldap 同步过来的 LDAP uid 是 :cn=xxx,ou=xxx,ou=xxx,ou=03-xxx,ou=xxx,ou=xxx,dc=ssd,dc=com,dc=cn
而xxx在 ldap 上实际的 uid 是 :cn=xxx,,ou=bbb,ou=xxx,ou=xxxou=03-xxx,ou=02-xxx,ou=用户管理,ou=xxxx,dc=aa,dc=xxx,dc=xxx
原因分析
修改 ldap 相关配置后导致同步出现错误