gitlab重置root的密码,gitlab忘记root密码,无法登陆gitlab解决办法 环境:gitlab 忘记了root密码,提示密码不对,无法登陆gitlab 原因:有人修改了密码忘记了,可能redis被其他开发人员重装了 解决办法: gitlab-ctl start 保证gitlab、redis同时处于启动状态。 gitlab-rails console production 进入gitlab串口环境下

gitlab重置root的密码,gitlab忘记root密码,无法登陆gitlab解决办法

环境:gitlab 忘记了root密码,提示密码不对,无法登陆gitlab
原因:有人修改了密码忘记了,可能redis被其他开发人员重装了

解决办法:
gitlab-ctl start 保证gitlab、redis同时处于启动状态。

gitlab-rails console production 进入gitlab串口环境下
>user = User.where(id: 1).first 定位到gitlab 数据库中Users表中的一个用户,通常就是管理员用户admin@local.host
> user.password=12345678 重置管理员密码为12345678
> user.password_confirmation=12345678 确认管理员密码为12345678
> user.save! 保存更改信息,需要使用后面的感叹号!

如下提示代表成功:
> user.save!
Enqueued ActionMailer::DeliveryJob ...
=> true

登陆gitlab使用新密码可以成功登陆root

================
GitLab是一个私有的Git仓库,具有较好的项目管理和用户管理能力。
普通用户通过系统的重置密码,接受邮件即可解决,GitLab的管理员账号,缺省的邮箱是一个不存在的邮箱地址,没有办法通过邮箱重置密码。

在服务器上,可以修改root密码:
官方文档:(https://docs.gitlab.com/ee/security/reset_user_password.html)
不能使用引号来包括密码。
具体方法如下:
1. 在root用户下,gitlab、redis处于启动状态,执行
gitlab-rails console production

2. 获得用户数据,修改用户密码
[root@svr34 bin]# gitlab-rails console production
Loading production environment (Rails 4.2.5.2)
> user = User.where(id: 1).first
=> #<User id: 1, email: "admin@example.com", ...
> user.password=12345678
=> 12345678
> user.password_confirmation=12345678
=> 12345678
> user.save!
=> true
> quit

注意:密码没有使用引号,使用单引号或双引号密码就无效,key value 模式,以等号分割的。

3. 保存用户数据
user.save!
注意需要使用后面的感叹号!