是否有用于重置 Redmine 管理员密码的 rake 命令?
Posted
技术标签:
【中文标题】是否有用于重置 Redmine 管理员密码的 rake 命令?【英文标题】:Is there a rake command to reset a Redmine admin password? 【发布时间】:2015-08-19 17:46:37 【问题描述】:我丢失了redmine
安装的管理员密码,在尝试了清除salt和设置密码password
默认哈希的方法后,我仍然无法登录。
有 rake 命令设置默认密码,还是设置特定密码?
Redmine
版本是 2.4.2
【问题讨论】:
不确定(我现在还没有安装Redmine,所以无法检查),但我相信您可以通过rails c
进行操作。你可以加载RAILS_ENV=production rails c
然后是这样的:u = User.where(email: 'your_email@gmail.com').first; u.password = '123123'; u.password_confirmation = '123123'; u.save!
你能给我提供确切的语法吗?在命令行上使用 Rails 是我不知道的。谢谢
【参考方案1】:
我相信您可以从 rails 控制台重置您的(任何)密码。转到服务器上的 Redmine 文件夹,然后
# start console
RAILS_ENV=production bundle exec rails c
# find your user
user = User.where(email: 'your_email@gmail.com').first
# set new password
user.password = '123123'
user.password_confirmation = '123123'
# save changes
user.save!
请注意,如果save!
返回异常,则无法应用更改。向问题发布异常消息。
【讨论】:
这是真的,对我有用,但之前需要 'cd $REDMINE_ROOT' 才能成功启动控制台。bundle exec rails c -e production
更适合生产环境登录【参考方案2】:
如果您不记得管理员电子邮件地址,另一种选择是使用用户 ID。
获取您的管理员用户 ID。
mysql -u redmine_user -p #登录MySQL
mysql> 使用 redmine; # 选择redmine数据库
mysql> select id,login from users where login='admin'; # 显示管理员信息
现在您有了管理员 ID(第一列),它应该是 1,但如果您删除并重新创建了管理员用户,则可以是任意数字。
到redmine文件夹修改密码
su - redmine_user # 如果你有 redmine 用户,则进入 redmine 用户
cd /var/www/redmine # cd 到 redmine 文档根目录
#启动控制台
RAILS_ENV=生产包 exec rails c
等到 rail env 出现。
# Load your admin user, I use id = 1 here but it should be what you have found in step 1
user = User.where(id: 1).first
# set new password
user.password = 'password'
user.password_confirmation = 'password'
# save changes
user.save!
exit
你完成了!
再见
【讨论】:
zlargon.github.io 上的答案是从接受的答案复制到这个答案。最好将您的回复更改为描述获取所需用户 ID 密钥的一般方法的评论。 'select * from users' 返回的列太多。你最好限制返回的列以上是关于是否有用于重置 Redmine 管理员密码的 rake 命令?的主要内容,如果未能解决你的问题,请参考以下文章