Gitlab忘记管理员密码,重置用户密码
2023-11-19 本文已影响0人
87d6dc4b11a7
要重置用户密码,您必须是私有化部署实例的管理员。
使用 Rails 控制台
1、打开 Rails 控制台
gitlab-rails console
2、找到用户:
- 通过用户名:
user = User.find_by_username 'exampleuser'
- 通过用户 ID:
user = User.find(123)
- 通过电子邮件地址:
user = User.find_by(email: 'user@example.com')
3、通过设置 user.password 和 user.password_confirmation 的值来重置密码。例如,要设置一个新的随机密码:
new_password = ::User.random_password
user.password = new_password
user.password_confirmation = new_password
要为新密码设置特定值:
new_password = 'examplepassword'
user.password = new_password
user.password_confirmation = new_password
4、可选。通知用户,管理员已更改他们的密码:
user.send_only_admin_changed_your_password_notification!
5、保存更改:
user.save!
6、退出控制台:
exit
重置 root 密码
要重置 root 密码,请按照前面列出的步骤操作。
- 如果 root 账户名称未更改,请使用用户名
root
。 - 如果 root 账户名称已更改,而您不知道新用户名,则可以使用带有用户 ID
1
的 Rails 控制台。在几乎所有情况下,第一个用户是默认管理员账户。
root@53df3395a772:~# gitlab-rails console
--------------------------------------------------------------------------------
Ruby: ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-linux]
GitLab: 16.4.1 (e6801ed8d44) FOSS
GitLab Shell: 14.28.0
PostgreSQL: 13.11
------------------------------------------------------------[ booted in 12.61s ]
Loading production environment (Rails 7.0.6)
irb(main):001:0> user = User.find_by_username 'root'
=> #<User id:1 @root>
irb(main):002:0> new_password = '1qaz@WSX'
=> "1qaz@WSX"
irb(main):003:0> user.password = new_password
=> "1qaz@WSX"
irb(main):004:0> user.password_confirmation = new_password
=> "1qaz@WSX"
irb(main):005:0> user.save!
=> true
irb(main):006:0> exit
root@53df3395a772:~#