?在使用gitlab的过程中,难免会出现忘记了管理员root账户密码的时候,这时候就需要进行管理员账户密码重置,下面就演示一下整个重置过程。
重置密码?官方文档说明:https://docs.gitlab.com/ee/security/reset_user_password.html
?1.重置root密码之前,需先使用root用户登录到gitlab所在服务器。并且进入gitlab容器中,使用以下命令启动Ruby on Rails控制台。
??gitlab-rails console -e production
?2.等待控制台加载完毕,有多种找到用户的方法,您可以搜索电子邮件或用户名。
??user = User.where(id: 1).first
?或者
??user = User.find_by(email: 'admin@example.com')
? 3.现在更改密码。
??user.password = '新密码'
??user.password_confirmation = '新密码'
?4.注意,必须同时更改密码和password_confirmation才能使其正常工作,最后别忘了保存更改。
??user.save
[root@k8s-node2 ~]# docker ps //查看所有运行中的容器CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES971e942b7a70 gitlab/gitlab-ce 电脑 "/assets/wrapper" About a minute ago Up About a minute (health: starting) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:222->22/tcp gitlab
[root@k8s-node2 ~]# docker exec -it gitlab /bin/bash //进入gitlab容器中root@971e942b7a70:/# gitlab-rails console -e production-------------------------------------------------------------------------------- Ruby: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux] GitLab: 14.3.0 (ceec8accb09) FOSS GitLab Shell: 13.21.0 PostgreSQL: 12.7--------------------------------------------------------------------------------Loading production environment (Rails 6.1.3.2)irb(main):001:0> user = User.where(id: 电脑 1).first=> #<User id:1 @root>irb(main):002:0> user.password = 'admin1234'=> "admin1234"irb(main):004:0> user.password_confirmation = 'admin1234'=> "admin1234"irb(main):005:0> user.saveEnqueued ActionMailer::MailDeliveryJob (Job ID: 191a2ed7-0caa-4122-bd06-19c32bffc50c) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007f72f7503158 @uri=#<URI::GID gid://gitlab/User/1>>]}=> true
?至此,管理员root用户密码重置完毕,重置后的密码为admin1234。
验证:电脑
?可以看到已经成功使用重置后的新密码登录到Gitlab中了。
电脑