一直自动登录导致忘记 gitlab 的密码,这篇文章我们来通过命令行修改 gitlab 的密码。
Table of contents
Open Table of contents
启动并进入 Docker 中的 gitlab
$ docker exec -it gitlab-ce /bin/bash
在生产环境运行 GitLab 的 Rails 控制台
$ gitlab-rails console -e production
执行命令后需要稍微等待,将会进入如下界面
root@dbbc74ab8f4f:/# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [aarch64-linux]
GitLab: 16.2.1 (3216f7a4aef) FOSS
GitLab Shell: 14.23.0
PostgreSQL: 13.11
------------------------------------------------------------[ booted in 15.32s ]
Loading production environment (Rails 7.0.6)
irb(main):001:0>
获取所有用户
$ user = User.all
执行命令后你会看到 gitlab 中所有用户信息,大致如下
$ => [#<User id:1 @root>, #<User id:34 @my_gitlab>]
上面输出了一个用户数组,其中有两个用户,一个是 root 一个是 my_gitlab
这次我们需要修改的是 my_gitlab 账户的密码,所以我们获取对应的 User 对象。
根据 id 查询用户
$ user = User.where(id:34).first
你会得到如下的输出
$ => #<User id:34 @my_gitlab>
现在我们的 user 变量存的就是 my_gitlab 对象。
重置密码
$ user.password = 'xxxx'
执行上面的命令修改 my_gitlab 的密码。
$ user.password_confirmation = 'xxxx'
执行上面的命令确认密码。修改完密码后记得调用 save 进行保存。
$ user.save
看到输出 true 即修改成功。最后执行 exit。退出设置即可。打开网页,使用刚才修改的密码登录。