之前有提到,我为我们部门搭建了一个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 | > user.password = 'newpassword' |
注意最好是将
password
和password_confirmation
都重置,以确保完全修改生效。
4. 保存修改
1 | > user.save! |
注意
!
号也很重要,不加的话,你的修改不会推送到数据库。