Joomla/如何恢复、重设Joomla!超级管理员密码
一般用 Joomla! 建网站时,都是在安装过程中产生一个超级管理员帐号,再也没有其他管理人员的帐号了。也就是说,只有超级管理员能从后台登录来管理网站。按理说这个帐号应该是牢记的,站长本人不应该忘记超级管理员的密码。但是有的站长管理多个网站,或者有些新手在安装过程中忘记设置自己的密码,又没有记住自动生成的密码,最后导致无法登录后台的事情也就发生了。
在 Joomla! 前台的登录模块上,有“找回密码”的链接。如果还记得超级管理员的用户名和注册信箱,使用这个功能就可以找回密码。不过,这种幸运也不是常有。本条目要解决的问题就是:忘记了唯一一个超级管理员帐号的密码,由于后台发送邮件的机制设置不正确也无法取回密码,这种情况下如何恢复 Joomla! 超级管理员的密码?
恢复超级管理员的密码[ ]
Joomla如何保存密码[ ]
首先,简单说明一下 Joomla! 的用户密码保存在哪里、怎样保存的:
Joomla! 安装时,会在数据库中建立一个 jos_users 数据表(jos_ 是默认数据表前缀,如果你曾经修改过前缀,那么参照此例),所有注册用户的用户名、密码、E-mail 等信息都储存在这里。其中,密码是经过MD5 加密的。这是为了加强网站安全性,即使黑客侵入你的数据库,也无法知道密码是多少。因为 MD5 是一种单向(One Way)加密算法,他无法从加密后的字串推导出真实密码字符。
不过,可以用已知的 MD5 加密字串来替代原有的加密字串,从而替代旧密码。
具体步骤[ ]
第一步:
做好网站备份。假如你数据库操作并不熟悉,那么为了防止误操作损坏网站,还是首先备份一下数据库 。
如果你忘记了数据库密码,你可以通过 FTP 下载 Joomla! 根目录下的 configuration.php 文件,里面的 $mosConfig_user 和 $mosConfig_password 分别就是数据库的用户名和密码。
第二步:
通过 phpMyAdmin 进入数据库,找到 jos_users 数据表。如下图所示:
在 jos_users 数据表所在那一行,向右看,第一个图标就是“浏览”按钮,点击此按钮,进入该数据表进行编辑:
接下来会看到如下内容:
Joomla! 默认的超级管理员帐号 ID 是62,一般在 jos_users 数据表中排在第一位。如上图所示,我们找到了 id 为 62 的超级管理员用户,可以看到后面显示的密码是比较复杂的加密字串,实际上该用户真实密码是 000。我们现在假设忘记了这个密码,下面来重新设置新密码:
点击 id 为 62 的用户记录最前面的“编辑”按钮,如下图所示,进入该用户的详细资料:
然后,就会看到如下所示的内容:
从上图可以看出,原来的密码记录还在,只是我们忘记了。现在将旧密码删除,填写新的密码。由于新密码也必须以 MD5 加密的方式填写,因此我们必须借用某个已知的 MD5 加密字串:
现在,我们复制上表中 admin 的加密字串“21232f297a57a5a743894a0e4a801fc3”,填写到“Password”字段,然后点击右下角“执行”按钮:
现在,超级管理员用户 admin 的密码已经变成了 admin,你可以从后台登录进去,然后修改密码为你喜欢的任何字串。
直接修改为自己想要的密码[ ]
既然我们能将旧密码改为 admin ,能否修改为其他想要的新密码,省得再次登录后台去修改密码?
当然可以。不过,这个新密码也必须先经过 MD5 加密。网上有好多在线加密服务,你可以随便挑选一个。例如,打开 http://www.md5encrypter.com/ 这个网站,可以看到页面上只有一个输入框,一个“encryp”(加密)按钮:
如上图所示,我们输入自己想要的密码,如 123,然后点击“Encrypt!”按钮,得到的结果是:
红色的“Md5 Hash”后面那些字串就是对 123 进行加密后的结果。将此字串填写到刚才 admin 用户的 Password 一栏,就可以将新密码设置为 123。同理,你可以设置为你想要的任何新密码。
参考来源[ ]
http://www.joomlagate.com/article/advanced-tutorial/how-to-recover-joomla-super-admin-password/