Gitlab通过Rails控制台重置账户密码

记一次Gitlab忘记了管理员密码后,重置管理员账号的流程。

1. 打开Rails 控制台

1
gitlab-rails console -e production

2. 查找用户

  1. 通过用户名

    1
    2
    # 管理员账户 @username root
    user = User.find_by_username 'root'
  2. 通过用户ID

    1
    2
    3
    # 管理员账户 @id 1
    # user = User.where(id: 1).first
    user = User.find(1)
  3. 通过电子邮件地址

    1
    user = User.find_by(email: 'user@example.com')

3. 重置密码

++注意: 必须同时更改password和password_confirmation!++

  1. 为新密码设置一个新的随机值:

    1
    2
    3
    new_password = ::User.random_password
    user.password = new_password
    user.password_confirmation = new_password
  2. 要为新密码设置特定值:

    1
    2
    3
    new_password = 'your_password'
    user.password = new_password
    user.password_confirmation = new_password

4. 保存更改

1
user.save!

5. 退出控制台

1
exit
------ 本文结束------