MediaWiki怎样重置用户password
就開始折腾之旅,本来以为能够直接执行一条sql语句就都搞定了结果。。。依照网上大多数讲述的
我已经找不到原作者了。也可能是翻译的官网文档。
引用;
忘了MediaWiki的password。假设启用了wiki的Email功能($wgEmailEnble=true),那用户自能够通过Email获取新password,假设没有能够使用更狠的一招,数据库管理员通过SQL语句直接改动password字段。
如: UPDATE user SET user_password=md5(CONCAT('USERID-',md5('newpassword'))) WHERE user_id=USERID;
注意:
假设在安装时,设定了表前缀,那要改动语句中的表名为:YourPreFix_user
存入wiki中的是passwordmd5后再加上usrID在MD5一次的结果,事实上在Localsettong.php中也能够设定是否要两次MD5
当然,WHERE中也能够用user_name,但记住要首字母大写
郁闷执行了,写的更改成功。可是还是无法登录那个郁闷啊~
继续查就有以下这个文章
您能够使用maintenance/changePassword.php维护脚本来重置一名用户的password。
您必须在命令行下执行该脚本。
换句话说,请登录到安装wiki的server。然后进入命令行提示符。进入安装文件夹,然后进入maintenance子文件夹。执行下列命令:
php changePassword.php --user=someuser --password=somepass
这里可见的“somepass”就是您将要设置的password,而“someuser”就是您将改动其password的username,该username应出如今数据库的“user”表中。
您相同能够使用直接改动数据库的老办法。假设变量$wgPasswordSalt已被设为true值(默认),您能够在MySQL中执行下列SQL查询:
UPDATE USER SET user_password = MD5(CONCAT(user_id, '-',
MD5('somepass'))) WHERE user_name = 'someuser';
这里可见的“somepass”就是您将要设置的password。而“someuser”就是您将改动其password的username。该username应出如今数据库的“user”表中。
Note 注意:CONCAT字符串中的user_id是一项列名。不应被替换为'someuser'。
Note 注意:假设您得到了'dbname.user table does not exist'错误,请检查LocalSettings.php文件,并特别注意$wgDBprefix变量的值。假设该变量不为空。请尝试反复执行上述命令,并将SQL查询UPDATE子句中的user替换为$wgDBPrefix_user。
假设您使用的是PostGreSQL,请使用下列查询替代:
UPDATE mwuser SET user_password =
md5(user_id || '-' || md5('somepass')) WHERE user_name='someuser';
您还能够尝试使用重设password插件。
posted on 2018-01-24 08:24 yjbjingcha 阅读(218) 评论(0) 编辑 收藏 举报