Joomla 取回管理员密码

      我的日志 2008-9-7 21:36

一般人用 Joomla! 建网站时,都是在安装过程中产生一个超级管理员帐号,再也没有其他管理人员的帐号了。也就是说,只有超级管理员能从后台登录来管理网站。按理说这个帐号应该是牢记的,站长本人不应该忘记超级管理员的密码。但是有的站长管理多个网站,或者有些新手在安装过程中忘记设置自己的密码,又没有记住自动生成的密码,最后导致无法登录后台的事情也就发生了。

在 Joomla! 前台的登录模块上,有“找回密码”的链接。如果还记得超级管理员的用户名和注册信箱,使用这个功能就可以找回密码。不过,这种幸运也不是常有。今天要解决的问题就是:忘记了唯一一个超级管理员帐号的密码,由于后台发送邮件的机制设置不正确也无法取回密码,这种情况下如何恢复 Joomla! 超级管理员的密码?

 

Incorrect Username, Password
Incorrect Username, Password

 

本文要介绍的方法,是由 kenmcd 在 Joomla! 官方论坛介绍的“How do I recover my admin password? ”,我在 Joomla! 1.0.13 和 Joomla! 1.5 RC3 上面都已测试,均证明可以重新设置超级管理员密码。

首先,简单说明一下 Joomla! 的用户密码保存在哪里、怎样保存的:

Joomla! 安装时,会在数据库中建立一个 jos_users 数据表(jos_ 是默认数据表前缀,如果你曾经修改过前缀,那么参照此例),所有注册用户的用户名、密码、E-mail 等信息都储存在这里。其中,密码是经过 MD5 加密的。这是为了加强网站安全性,即使黑客侵入你的数据库,也无法知道密码是多少。因为 MD5 是一种单向(One Way)加密算法,他无法从加密后的字串推导出真实密码字符。

不过,可以用已知的 MD5 加密字串来替代原有的加密字串,从而替代旧密码。我们今天的方法就是采用这个思路。以下按照默认安装的 Joomla! 1.0.13 来操作,Joomla! 1.5 参照同样可以做到。

第一步:

做好网站备份。假如你像我一样,对数据库操作并不熟悉,那么为了防止误操作损坏网站,还是首先备份一下数据库 —— 不要告诉我你连数据库密码都忘记了。

就算你忘记了数据库密码,还有一招:你可以通过 FTP 下载 Joomla! 根目录下的 configuration.php 文件,里面的 $ mosConfig_user 和 $ mosConfig_password 分别就是数据库的用户名和密码。

如果你连 FTP 都连不通,我建议你跟空间提供商联系一下,请他们帮你把 configuration.php 文件传过来。

第二步:

通过 phpMyAdmin 进入数据库,找到 jos_users 数据表。如下图所示:

 

找到 jos_users 数据表
找到 jos_users 数据表

 

 

在 jos_users 数据表所在那一行,向右看,第一个图标就是“浏览”按钮,点击此按钮,进入该数据表进行编辑:

 

点击“浏览”按钮进入jos_users数据表
点击“浏览”按钮进入jos_users数据表

 

接下来会看到如下内容:

 

jos_users 数据表中的记录
jos_users 数据表中的记录

 

 

Joomla! 默认的超级管理员帐号 ID 是62,一般在 jos_users 数据表中排在第一位。如上图所示,我们找到了 id 为 62 的超级管理员用户,可以看到后面显示的密码是比较复杂的加密字串,实际上该用户真实密码是 000。我们现在假设忘记了这个密码,下面来重新设置新密码:

点击 id 为 62 的用户记录最前面的“编辑”按钮,如下图所示,进入该用户的详细资料:

 

点击“编辑”按钮进入管理员帐户
点击“编辑”按钮进入管理员帐户

 

然后,就会看到如下所示的内容:

 

admin 帐户的资料
admin 帐户的资料

 

从上图可以看出,原来的密码记录还在,只是我们忘记了。现在将旧密码删除,填写新的密码。由于新密码也必须以 MD5 加密的方式填写,因此我们必须借用某个已知的 MD5 加密字串:

 

加密前

加密后

admin

21232f297a57a5a743894a0e4a801fc3

secret

5ebe2294ecd0e0f08eab7690d2a6ee69

 

现在,我们复制上表中 admin 的加密字串“21232f297a57a5a743894a0e4a801fc3”,填写到“Password”字段,然后点击右下角“执行”按钮:

 

用新密码替换旧密码
用新密码替换旧密码

 

现在,超级管理员用户 admin 的密码已经变成了 admin,你可以从后台登录进去,然后修改密码为你喜欢的任何字串。

直接修改为自己想要的密码

既然我们能将旧密码改为 admin ,能否修改为其他想要的新密码,省得再次登录后台去修改密码?

当然可以。不过,这个新密码也必须先经过 MD5 加密。网上有好多在线加密服务,你可以随便挑选一个。例如,打开 http://www.md5encrypter.com/ 这个网站,可以看到页面上只有一个输入框,一个“encryp”(加密)按钮:

 

MD5 encryption
MD5 encryption

 

如上图所示,我们输入自己想要的密码,如 123,然后点击“Encrypt!”按钮,得到的结果是:

 

MD5 encryption result
MD5 encryption result

 

红色的“Md5 Hash”后面那些字串就是对 123 进行加密后的结果。将此字串填写到刚才 admin 用户的 Password 一栏,就可以将新密码设置为 123。同理,你可以设置为你想要的任何新密码。

标签集:TAGS:joomla, password
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}