gitlab重置root的密碼,gitlab忘記root密碼,無法登陸gitlab解決辦法
環境:gitlab 忘記了root密碼,提示密碼不對,無法登陸gitlab
原因:有人修改了密碼忘記了,可能redis被其他開發人員重裝了
解決辦法:
gitlab-ctl start 保證gitlab、redis同時處於啟動狀態。
gitlab-rails console production 進入gitlab串口環境下
>user = User.where(id: 1).first 定位到gitlab 數據庫中Users表中的一個用戶,通常就是管理員用戶admin@local.host
> user.password=12345678 重置管理員密碼為12345678
> user.password_confirmation=12345678 確認管理員密碼為12345678
> user.save! 保存更改信息,需要使用后面的感嘆號!
如下提示代表成功:
> user.save!
Enqueued ActionMailer::DeliveryJob ...
=> true
登陸gitlab使用新密碼可以成功登陸root
================
GitLab是一個私有的Git倉庫,具有較好的項目管理和用戶管理能力。
普通用戶通過系統的重置密碼,接受郵件即可解決,GitLab的管理員賬號,缺省的郵箱是一個不存在的郵箱地址,沒有辦法通過郵箱重置密碼。
在服務器上,可以修改root密碼:
官方文檔:(https://docs.gitlab.com/ee/security/reset_user_password.html)
不能使用引號來包括密碼。
具體方法如下:
1. 在root用戶下,gitlab、redis處於啟動狀態,執行
gitlab-rails console production
2. 獲得用戶數據,修改用戶密碼
[root@svr34 bin]# gitlab-rails console production
Loading production environment (Rails 4.2.5.2)
> user = User.where(id: 1).first
=> #<User id: 1, email: "admin@example.com", ...
> user.password=12345678
=> 12345678
> user.password_confirmation=12345678
=> 12345678
> user.save!
=> true
> quit
注意:密碼沒有使用引號,使用單引號或雙引號密碼就無效,key value 模式,以等號分割的。
3. 保存用戶數據
user.save!
注意需要使用后面的感嘆號!