強制找回gitlab管理員密碼

強制找回gitlab管理員密碼

 

最近使用gitlab的時候發現管理員密碼忘記,現將找回密碼的操做過程記錄下來。html

1.在gitlab登陸窗口

若是密碼忘記了登陸不進入,能夠先嚐試點擊登陸框下方的Forgot your password來經過郵箱的方式找回,若是郵箱不能夠使用了,則看下面的強制找回方法node

 

2.輸入郵箱帳號找回

輸入當初設置的郵箱賬號,這一步前提是郵箱能夠正常使用的狀況下才能夠使用的方法linux

 

3.經過xshell鏈接到gitlab安裝的服務器

輸入su - git 切換到git用戶下操做,切換以後默認的當前目錄就能夠ls查看到gitlab的命令文件,如圖所示能夠看到gitlab-rails文件,下一步會使用此文件進入控制檯nginx

[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的查詢語句,纔會被解析git

-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爲rootredis

irb(main):001:0> user = User.where(id:1).first
=> #<User id:1 @root>

 

7.重置密碼

輸入user.password='密碼',密碼位置填寫您新的密碼便可。而後再輸入user.save!保存用戶對象sql

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用戶進行登陸,此次能夠正常登陸了。表示密碼重置成功了。shell

相關文章
相關標籤/搜索