温馨提示×

Linux GitLab如何重置密码

小樊
47
2026-07-14 10:39:49
栏目: 智能运维

Linux 服务器上部署的 GitLab 中,重置密码通常有两种常见场景:Web 界面重置命令行(Rails 控制台)重置。下面按推荐顺序说明。


一、通过 GitLab Web 界面重置(推荐)

适用于 知道邮箱、且邮件服务正常 的情况。

  1. 打开 GitLab 登录页
    http://your-gitlab-domain/users/password/new
    
  2. 点击 “Forgot your password?”
  3. 输入注册邮箱
  4. 查收邮件,按提示重置密码

✅ 这是最安全、最简单的方式。


二、通过 Linux 命令行重置(管理员密码忘记)

适用于 服务器管理员、无法收邮件 的情况。

1️⃣ 进入 GitLab Rails 控制台

sudo gitlab-rails console

如果是 Omnibus 安装(最常见)

如果是 源码安装,路径可能不同:

cd /home/git/gitlab
sudo -u git bundle exec rails console -e production

2️⃣ 查找用户(以 root 为例)

user = User.find_by_username('root')
# 或
user = User.find_by(email: 'admin@example.com')

确认用户:

user

3️⃣ 重置密码

user.password = 'NewStrongPassword123'
user.password_confirmation = 'NewStrongPassword123'
user.save!

✅ 成功后你会看到:

=> true

4️⃣ 退出控制台

exit

三、重置后无法登录的常见原因

问题 解决方法
密码太简单 设置 ≥ 8 位,包含大小写+数字
LDAP 登录 需修改 LDAP 用户或禁用 LDAP
被锁定 执行:
user.locked_at = nil
user.save!
管理员被禁用 user.state = 'active'

四、重置管理员账号(root)完整示例

sudo gitlab-rails console
u = User.find_by(username: 'root')
u.password = 'GitLab@2026'
u.password_confirmation = 'GitLab@2026'
u.save!

五、Docker 部署的 GitLab

docker exec -it gitlab gitlab-rails console

后续步骤相同。


六、安全建议

  • 重置后 立即登录修改密码
  • 启用 2FA
  • 检查是否有异常登录记录

如果你愿意,可以告诉我:

  • ✅ GitLab 安装方式(Omnibus / Docker / 源码)
  • ✅ 是否是 root 用户
  • ✅ 是否启用了 LDAP / SSO

我可以给你更精确的操作步骤。

0