在 Linux 上自建的 GitLab 中,重置用户(包括管理员 root)密码通常有两种常用方式:命令行重置 和 Web 界面找回(若可用)。下面重点说 命令行方式(最可靠)。
sudo gitlab-rails console -e production
(如果是旧版本,可能是 gitlab-rails console)
等待出现类似:
irb(main):001:0>
例如重置 root 用户:
user = User.where(username: 'root').first
或按邮箱:
user = User.find_by(email: 'admin@example.com')
user.password = 'NewPassword123!'
user.password_confirmation = 'NewPassword123!'
user.save!
看到 => true 表示成功。
exit
然后用新密码登录 Web 界面即可。
只要你能登录服务器,gitlab-rails console 不受邮箱影响,所以最推荐。
⚠️ 如果邮件服务未配置,此方法不可用。
如果是 Docker 部署:
docker exec -it gitlab bash
gitlab-rails console -e production
后续步骤相同。
sudo gitlab-ctl restart
如果你愿意,可以告诉我:
我可以给你更精确的步骤。