強制找回gitlab管理員密碼
最近使用gitlab的時候發現管理員密碼忘記,現將找回密碼的操作過程記錄下來。
1.在gitlab登錄窗口
如果密碼忘記了登錄不進入,可以先嘗試點擊登錄框下方的Forgot your password來通過郵箱的方式找回,如果郵箱不可以使用了,則看下面的強制找回方法
2.輸入郵箱賬號找回
輸入當初設置的郵箱帳號,這一步前提是郵箱可以正常使用的情況下才可以使用的方法
3.通過xshell連接到gitlab安裝的服務器
輸入su - git 切換到git用戶下操作,切換之后默認的當前目錄就可以ls查看到gitlab的命令文件,如圖所示可以看到gitlab-rails文件,下一步會使用此文件進入控制台
[root@linux ~]# su - git Last login: Tue Sep 4 16:33:29 CST 2018 on pts/0 Last failed login: Thu Nov 15 17:05:22 CST 2018 from 192.168.2.239 on ssh:notty There were 83 failed login attempts since the last successful login.
4.ls查看git目錄及內容
-sh-4.2$ ls alertmanager bootstrapped git-data gitlab-monitor gitlab-shell logrotate node-exporter postgresql public_attributes.js backups gitaly gitlab-ci gitlab-rails gitlab-workhorse nginx postgres-exporter prometheus redis
5.進入gitlab控制台
輸入gitlab-rails console production進入gitlab控制台,只有進入到控制台之后,才可以輸入gitlab的查詢語句,才會被解析
-sh-4.2$ gitlab-rails console production ------------------------------------------------------------------------------------- GitLab: 11.2.3 (06cbee3) GitLab Shell: 8.1.1 postgresql: 9.6.8 ------------------------------------------------------------------------------------- Loading production environment (Rails 4.2.10)
6.查詢gitlab超級管理員信息
輸入user = User.where(id:1).first查詢id為1的用戶對象,因為超級管理員用戶默認都是1,也可以更加username來查詢用戶對象,管理員賬戶對象查詢到之后,可以從返回的信息中看到admin為true,username為root
irb(main):001:0> user = User.where(id:1).first => #<User id:1 @root>
7.重置密碼
輸入user.password='密碼',密碼位置填寫您新的密碼即可。然后再輸入user.save!保存用戶對象
irb(main):002:0> user.password='123456' => "123456" irb(main):003:0> user.save! Enqueued ActionMailer::DeliveryJob (Job ID: a87b7fd0-7fa7-4744-b46d-5223d4d3f8b5) to Sidekiq(mailers) with arguments: "DeviseMailer", "://gitlab/User/1 => true
8.返回gitlab登錄界面重新登錄
以上操作完成之后,再次回到登錄窗口頁面,重新使用root用戶進行登錄,這次可以正常登錄了。表示密碼重置成功了。
