GitLab 的管理员,是个神奇存在。它的 name 是 Administrator,但 user name 是 root。不仅如此,其关联的邮箱,默认是 admin@example.com。这意味着,root 用户要是忘记了密码,想要通过邮箱找回,呃,最好别想。鉴于很多年前就知道,确实有个网站的域名是 example.com,我很怀疑这个邮箱看似无效,实则可用,而且每天里面都会收到不少记性不好的 GitLab 系统管理员的重置密码的链接。
在服务器上操作,可以修改用户的密码,官方文档见 http://docs.gitlab.com/ce/security/reset_root_password.html。这部分内容主要来自 https://www.cnblogs.com/weifeng1463/p/11796861.html,如同往常,我做了一定的修订。
具体就是,以 root 用户执行 gitlab-rails console production
,获取用户数据,并修改用户密码。
1 2 3 4 5 6 7 8 9 10 11 |
[root@glsvr bin]# gitlab-rails console production Loading production environment (Rails 4.2.5.2) irb(main):001:0> user = User.where(id: 1).first => #<User id: 1, email: "admin@example.com", ... irb(main):002:0> user.password=12345678 => 12345678 irb(main):003:0> user.password_confirmation=12345678 => 12345678 irb(main):004:0> user.save! => true irb(main):005:0> quit |
注意 1:密码不能使用引号。而且一旦使用了单引号或双引号,密码就无效。
注意 2:保存用户数据的 user.save!
,别忽略后面的感叹号。
以上步骤很简单,但我没用上。因为后来我想了起来,我并不是一开始就扮演这个系统的管理员角色的,我和上任管理员要到了密码,是我非常忌讳的 12345678
,被我第一时间改掉了。进一步地,我很怀疑上任管理员也曾不知道密码过,而恰巧找到了上述步骤。