很久很久以前,我给我的虚拟机安装了一个LimeSurvey,然后我就一直没有再用它。
今天悲催的事情发生了,我终于打算启用虚拟机中的LimeSurvey,打开我记录账户密码的小本本,然后发现里面空空如也。
虽说这个系统是新装的,什么内容都没有,但如果现实生活中也发生这么狗血的事情呢?密码忘了,邮箱不能用(搞得好像自己的服务器能发邮件一样),而自己偏偏还是(超级)管理员。
不幸中的万幸,我还记得数据库密码,还能进入数据库。
网上搜索了一下,得知用户信息都被保存在了lime_users表中(前缀可能不一样)。
打开之后,密码区好长一串字符,很明显我还没无聊到设这么长密码的地步。
然后看到论坛中有个帖子贡献了一个SQL代码,太复杂了,又是要删除原来的lime_users表然后又是要新建,然后还得要新建用户,密码仍然是好长一串字符,明显是转换过的,况且还是很多年前貌似2.x版下用的,懒得看下去了,除非真没招了再试。
皇天不负有心人,还是让我找到简单的方法,原来LimeSurvey的密码存储为SHA256 hash,因此需要使用 MySQL中的函数SH2()来完成更新。
实际查询代码如下所示:

UPDATE `lime_users`
SET PASSWORD = sha2('password',256)
WHERE uid = 1

请记住,表名称(本例中lime_users)应调整为你实际的表前缀+users。此外,密码字符串(SHA2 函数中的第一个参数)需要更改为任何密码。
执行完毕之后,用新密码登录,Ok,进去了!

话说,我在后台转了一圈也没看到修改管理员密码的地方,至少没出现在很明显的地方,要是哪位朋友找到了,记得告知一下。

本文参考:《Reset Your LimeSurvey Password

最后修改:2020 年 03 月 03 日
如果觉得我的文章对你有用,请随意赞赏