在 Debian 上部署的 GitLab(无论是 Omnibus 包还是源码安装),重置用户密码通常有以下几种方式。下面按最常见、最安全的方法说明。
适用于 Omnibus 安装的 GitLab(最常见)
sudo gitlab-rails console -e production
(如果是旧版本,可能是 gitlab-rake rails console)
user = User.find_by(username: 'root') # 按用户名
# 或
user = User.find_by(email: 'admin@example.com')
user.password = 'NewPassword123'
user.password_confirmation = 'NewPassword123'
user.save!
exit
✅ 此时即可用新密码登录
如果你能访问登录页:
⚠️ 如果邮件服务未配置,此方法不可用
如果是 root 用户忘记密码,方法同第一种:
sudo gitlab-rails console -e production
user = User.where(id: 1).first
user.password = 'NewPassword123'
user.password_confirmation = 'NewPassword123'
user.save!
如果是 Docker 容器:
docker exec -it gitlab gitlab-rails console -e production
然后执行同样的 Ruby 命令。
GitLab 有密码复杂度策略,建议:
sudo gitlab-ctl restart
如果你能告诉我:
我可以给你更精确的步骤。