Gitlab忘记超级用户密码重置方式
GItlab 密码重置
进入Gitlab控制台更改管理员密码
前提条件:需要保证Gitlab、Redis同时处于启动状态。可以运行gitlab-ctl start
或者gitlab-ctl restart
命令进行启动或者重启。
- 切换到Gitlab的bin目录下,如果你配置了系统变量PATH则可以不用切换。(如果你在服务器上安装Gitlab时使用的指定服务器用户,则需要你切换用户到当初安装Gitlab的账户上去)
准备就绪后,我们可以执行如下命令进入Gitlab控制的了,命令:
1 2 3 | gitlab-rails console -e production # 低版本可以尝试使用下面一句命令: gitlab-rails console production |
如果使用上述命令入法进入Gitlab控制台,建议前往Gitlab官网查询进入Gitlab控制台的方式进行进入哦。
进入控制台后如下:
1 2 3 4 5 6 7 8 9 | [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> |
- 查看所有用户,在Gitlab控制台输入
User.all
即可看到所有的用户,如下:
1 2 3 4 5 6 7 8 9 10 11 | [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> |
- 找到自己需要重置的用户id号,管理员账户通常id为1,在Gitlab控制台执行如下命令即可获取到用户(如下:定位到id=1的用户):
1 2 3 4 5 6 7 8 9 10 11 12 13 | [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> |
- 在Gitlab控制台执行如下命令修改密码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [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'是确认密码,两次密码需要设置成一致的。
注意:密码不能设置过于简单,最好先不要设置特殊字符,会报错,可能需要转义!
- 在Gitlab控制之下下面的命令保存密码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [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控制台执行命令进行获取哦,如下
1 | user=User.where(email: 'jenkins@domian.com' ).first |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?