在 Linux 上的 GitLab(通常是 Omnibus 或源码安装)忘记密码,一般通过 命令行重置用户密码 最稳妥。下面按常见情况说明:
/opt/gitlab)sudo gitlab-rails console -e production
等待进入 irb 界面。
user = User.find_by(username: 'your_username')
# 或
user = User.find_by(email: 'your_email@example.com')
user.password = 'NewPassword123'
user.password_confirmation = 'NewPassword123'
user.save!
看到 => true 就成功了。
exit
docker exec -it gitlab bash
gitlab-rails console -e production
然后同上操作。
cd /home/git/gitlab
sudo -u git bundle exec rails console -e production
再执行上面的 User.find_by ... save! 操作。
同样用控制台:
user = User.where(id: 1).first
user.password = 'NewAdminPass123'
user.password_confirmation = 'NewAdminPass123'
user.save!
如果 SMTP 配置正常:
若 GitLab 接了 LDAP,则用目录账号登录,不改 GitLab 密码。
save! 会报错-e production如果你愿意,可以告诉我:
我可以按你的环境一步步帮你恢复。