drupal重置管理员密码

标注(*)的为解决方案

 

1、进入phpmyadmin管理页面,选择drupal网站对应的数据库,然后是选择users表=>编辑

 

说明:用户的ID是在用户注册时或者管理员创建用户时所分配的一个整数。这个ID是users表中的主键。

匿名用户的uid是0,安装时创建的管理员的uid是1,uid为1的用户是不受Drupal权限管制的,具有最高权限。

(*)这里主要关注pass栏(登陆密码);其他栏目具体含义可以参考

http://www.weakweb.com/articles/tag/drupal7-%E7%94%A8%E6%88%B7

 

2、drupal不同版本对于口令(密码)加密采用的是不同算法:

drupal 5、6都是用MD5加密的,而从drupal7以后用的是SHA-512(SHA2);

  1)(*)对于drupal7之前版本,可以在pass栏直接填入明文口令,然后选择MD5算法,最后执行就OK了;

  2)    对于drupal7之后的版本,就要麻烦一些了,特别是在windows下操作,phpMyadmin3.5只有SHA1,没有SHA2,所以

  方法 1)不适用;

          主要步骤可以参考这篇blog:如何重置Drupal 7的用户密码

    但是我在具体操作的时候,遇到了一些麻烦(同在win7),环境变量添加后dos竟然没反应,无奈只得

    用绝对路径, 

      然后在php文件夹下打开new_pwd.txt,各种warning:

      

Warning: include_once(D:\xampp\php/includes/password.inc): failed to open stream: No such file or directory in D:\xampp\htdocs\drupal\scripts\password-hash.sh on line 83

Warning: include_once(): Failed opening 'D:\xampp\php/includes/password.inc' for inclusion (include_path='.;D:\xampp\php\PEAR') in D:\xampp\htdocs\drupal\scripts\password-hash.sh on line 83

Warning: include_once(D:\xampp\php/includes/bootstrap.inc): failed to open stream: No such file or directory in D:\xampp\htdocs\drupal\scripts\password-hash.sh on line 84

Warning: include_once(): Failed opening 'D:\xampp\php/includes/bootstrap.inc' for inclusion (include_path='.;D:\xampp\php\PEAR') in D:\xampp\htdocs\drupal\scripts\password-hash.sh on line 84

Fatal error: Call to undefined function user_hash_password() in D:\xampp\htdocs\drupal\scripts\password-hash.sh on line 87

 

    找到password.inc模块是各种加密算法,而password-hash.sh却不能打开,看提示可能是包含路径的问题,对于php虽然做过小网站,但是忘得差不多了,

    懒得去折腾,直接丢关键词"password-hash.sh  password.inc" 给google,果然找到答案了,http://drupal.org/node/992400#comment-4673708

   (*)某个好心人直接给了口令:password的SHA-512加密运算的结果“$S$CDbdwZvjHQ09IVRs88G0fnaxPr50/kb81YI9.8M/D9okW7J/s5U4”;果然用

    password登陆成功了。非常感谢这位哥们,不然还得用Java来获取SHA-512的加密结果。

  注:还好E文能看得懂(当然也就在搜索到国外论坛的时候看),也不枉费我四级560,呵呵。

 

3、又回到最初的页面,^_T

 

PS:从来没听说过CMS,更没听说过Drupal,虽然很强大,但是也很折腾人(为这玩意儿搞了2天,真心没办法),出现管理员账号重置情况,不是

忘了密码,而是从本地测试上传到服务器出现了点问题,修改了密码,找不到加密后的摘要了,所以只能重置。当然要先保证数据库成功导入服务器

后,再来考虑网站管理员密码重置的问题。

posted on 2012-05-15 01:43  Seiyagoo  阅读(1827)  评论(2编辑  收藏  举报