1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

Gitlab重置用户密码

自建的Gitlab服务器在阿里云上,阿里云默认屏蔽了对外的25端口连接。每添加新用户,就会反馈重置密码的邮件收不到。解决方法是登录到服务器上用mailq命令找到邮件ID,接着用postcat命令找出链接发给对方完成密码重置工作。

这次的新用户比较奇怪(也可能是gitlab升级),使用postcat获取到的链接无效,无法重置密码。为了让其正常使用,先从管理员身份切换过去并添加SSH公钥。

事后为了解决这个问题,暂时想到两个办法:1. 使用海外的服务器;2. 使用465等SSL加密端口。第一个方法作为备选方案,优先考虑了第二种方案。遗憾的是按照官方文档配置,Gitlab不屈不挠的使用sendmail而非SMTP方式发送邮件。折腾了一个多小时还没弄好,有点心累。

快要放弃的时候转念一想,我需要的是重置密码功能,邮件先放一边吧!于是开始寻找重置用户密码方法,该过程可谓是轻松加愉快,很快就重置了用户的密码。

具体步骤如下:

 # 进入gitlab控制台 gitlab-rails console # 找出用户并重置密码 user = User.find_by(email: 'example@xxx.com') user.password='1234ABCD' user.password_confirmation='1234ABCD' user.save! # 退出控制台 exit 

输出内容示例如下:

 [root@localhost gitlab]# gitlab-rails console Loading production environment (Rails 4.2.8) irb(main):001:0> user = User.find_by(email: 'example@xxx.com') => #      irb(main):002:0> user.password='1234ABCD' => "1234ABCD" irb(main):003:0> user.password_confirmation='1234ABCD' => "1234ABCD" irb(main):004:0> user.save! Enqueued ActionMailer::DeliveryJob (Job ID: ea0072d2-5cd5-4b6e-bdad-fa938d977e47) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/12 => true   

参考

  1. https://docs.gitlab.com/omnibus/settings/smtp.html#testing-the-smtp-configuration
  2. https://stackoverflow.com/questions/24448475/gitlab-password-reset-in-rails

原文链接:https://www.qiquanji.com/post/4877.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:高级教程 浏览: