我正在尝试登录我忘记的gitlab安装的网络面板,但不知何故密码无效。我试图通过以下
在控制台中重置它sudo -u git -H bundle exec rails console production
user = User.where(email: 'myemail@mail.com').first
user.password = 'password'
user.save
我可以确认在数据库的用户表中设置了新的加密密码,但我仍然无法登录。
在ubuntu上使用gitlab 6。
我还能做些什么来重置密码或找出我无法登录的原因。
答案 0 :(得分:2)
您还需要保存密码确认:
user = User.find_by(email: 'admin@local.host')
user.password = 'secret_pass'
user.password_confirmation = 'secret_pass'
user.save!
(感叹号很重要)
答案 1 :(得分:0)
正如Philipp Antar指出的那样,你必须使用user.save!
来保存数据库中的记录。
答案 2 :(得分:0)
编辑:环境:在Debian Jessie上安装Gitlab Omnibus(SmartOS LX图像)
我更愿意在评论中这样说,但我没有足够的声誉(在互联网上作为鬼魂多年后,我开始说话)......
我在尝试处理这个问题时找到了这个帖子(我已经安装了Gitlab,玩了几天,然后继续安装其他东西并忘记了我的用户帐户的凭据)(我也忘了有一个' root'帐户)。我最初的搜索基本上导致我这些相同的指令(Gitlab官方文档重置root密码:https://docs.gitlab.com/ee/security/reset_root_password.html)。 使用它们我立即能够重置root帐户和登录的密码,但是当我执行相同的步骤来访问我的(非root)用户帐户时,它没有工作。我执行了三次这些步骤(复制/粘贴时很难错过感叹号,我可以在控制台中向上滚动,看到我正确地做了,但我总是想确定)。 最后我重置gitlab机器,然后我的用户帐户的新密码工作。对于任何尝试过此操作并且无法正常工作的人,我建议重置。