Gitlab忘記超級用戶密碼重置方式


GItlab 密碼重置

進入Gitlab控制台更改管理員密碼

前提條件:需要保證Gitlab、Redis同時處於啟動狀態。可以運行gitlab-ctl start或者gitlab-ctl restart命令進行啟動或者重啟。

    1. 切換到Gitlab的bin目錄下,如果你配置了系統變量PATH則可以不用切換。(如果你在服務器上安裝Gitlab時使用的指定服務器用戶,則需要你切換用戶到當初安裝Gitlab的賬戶上去)
      准備就緒后,我們可以執行如下命令進入Gitlab控制的了,命令:
gitlab-rails console -e production
# 低版本可以嘗試使用下面一句命令:
gitlab-rails console production

  

如果使用上述命令入法進入Gitlab控制台,建議前往Gitlab官網查詢進入Gitlab控制台的方式進行進入哦。

進入控制台后如下:

[root@hy ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.10.3 (b1774ad36a9) FOSS
 GitLab Shell: 13.17.0
 PostgreSQL:   12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.4)
irb(main):001:0>
  1. 查看所有用戶,在Gitlab控制台輸入User.all即可看到所有的用戶,如下:

 

[root@hy ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.10.3 (b1774ad36a9) FOSS
 GitLab Shell: 13.17.0
 PostgreSQL:   12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.4)
irb(main):001:0> User.all
=> #<ActiveRecord::Relation [#<User id:2 @alert-bot>, #<User id:3 @support-bot>, #<User id:1 @root>, #<User id:4 @code>, #<User id:5 @hy>]>
irb(main):002:0>
  1. 找到自己需要重置的用戶id號,管理員賬戶通常id為1,在Gitlab控制台執行如下命令即可獲取到用戶(如下:定位到id=1的用戶):
[root@hy ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.10.3 (b1774ad36a9) FOSS
 GitLab Shell: 13.17.0
 PostgreSQL:   12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.4)
irb(main):001:0> User.all
=> #<ActiveRecord::Relation [#<User id:2 @alert-bot>, #<User id:3 @support-bot>, #<User id:1 @root>, #<User id:4 @code>, #<User id:5 @hy>]>
irb(main):002:0> user=User.where(id:1).first
=> #<User id:1 @root>
rb(main):003:0> 
  1. 在Gitlab控制台執行如下命令修改密碼:
[root@hy ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.10.3 (b1774ad36a9) FOSS
 GitLab Shell: 13.17.0
 PostgreSQL:   12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.4)
irb(main):001:0> User.all
=> #<ActiveRecord::Relation [#<User id:2 @alert-bot>, #<User id:3 @support-bot>, #<User id:1 @root>, #<User id:4 @code>, #<User id:5 @hy>]>
irb(main):002:0> user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):003:0> user.password='abc123456'
=> "abc123456"
irb(main):004:0> user.password_confirmation='abc123456'
=> "abc123456"
irb(main):005:0>

執行user.password='abc123456'是設置密碼,然后執行user.password_confirmation='abc123456'是確認密碼,兩次密碼需要設置成一致的。

注意:密碼不能設置過於簡單,最好先不要設置特殊字符,會報錯,可能需要轉義!

  1. 在Gitlab控制之下下面的命令保存密碼:
[root@hy ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
 GitLab:       13.10.3 (b1774ad36a9) FOSS
 GitLab Shell: 13.17.0
 PostgreSQL:   12.6
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.4)
irb(main):001:0> User.all
=> #<ActiveRecord::Relation [#<User id:2 @alert-bot>, #<User id:3 @support-bot>, #<User id:1 @root>, #<User id:4 @code>, #<User id:5 @hy>]>
irb(main):002:0> user=User.where(id:1).first
=> #<User id:1 @root>
irb(main):003:0> user.password='abc123456'
=> "abc123456"
irb(main):004:0> user.password_confirmation='abc123456'
=> "abc123456"
irb(main):005:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 2222b8da-6863-4909-8e35-c01ee88c9dd5) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007f85c6d40ac8 @uri=#<URI::GID gid://gitlab/User/5>>]}
=> true
irb(main):006:0> 

執行user.save!就是保存上面我們給用戶設置的密碼信息,切記后面有個英文感嘆號(!)
如上,看到Gitlab控制台保存密碼成功后會打印出 ...true等一堆信息,表示設置成功了!上面可以看到觸發了發送郵件的Job,它會發送一封電子郵件到剛才重置密碼的賬戶綁定的郵箱中,內容大致如下

 

其他

如果你知道用戶的電子郵件,想獲取用戶信息,可以通過Gitlab控制台執行命令進行獲取哦,如下

user=User.where(email:'jenkins@domian.com').first

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM