如何重置gitlab用户密码

之前有提到,我为我们部门搭建了一个gitlab,前几天有用户跟我反映,他忘记密码了,使用gitlab自带的找回密码功能无果,收不到邮件,估计跟公司内网有一些关系,也可能是我没有配置好邮件联动。anyway,现在去配置邮箱感觉花的时间有些来不及。想着作为管理员,应该有权限和办法去重置用户的密码的,于是查询了资料,果然不出所料。方法如下,只需4步:

1. 首先进入Ruby on Rails console:

使用root权限进入gitlab所在的linux服务器,打开一个终端,输入以下命令

1
> gitlab-rails console production

然后等待ruby的console界面加载出来。

2. 然后你有好几种方法去查找用户。

方法一,使用id:

1
irb(main):001:0> user = User.where(id:[user's register index]).first

方法二,使用邮箱:

1
irb(main):001:0> user = User.where(email:[user's register email]).first

方法三,使用用户名:

1
irb(main):001:0> user = User.where(name:[user's register name]).first

我这次使用的是邮箱

1
irb(main):001:0> user=User.where(email:xxx@163.com).first

3. 修改密码

1
2
> user.password = 'newpassword'
> user.password_confirmation = 'newpassword'

注意最好是将 passwordpassword_confirmation 都重置,以确保完全修改生效。

4. 保存修改

1
> user.save!

注意 ! 号也很重要,不加的话,你的修改不会推送到数据库。

现在退出 console 使用新的密码登录试试,可以登录啦。