Manual:Resetting passwords/zh

在一些情况下，用户可能需要重置其密码. 例如，用户忘记了自己的密码，或是遇到某种可能会泄露其密码的安全漏洞. 大多数情况下，可以使用“通过邮件获得新密码”来重置密码.

''对于忘记用户名或是无法查看邮箱的用户，可能需要管理员或系统管理员进行一些额外操作. ''

使用 Special:UserLogin
如果您知道自己账户的名称，则可以使用登陆界面上的“忘记密码”功能. 要使用此功能，请在维基上访问 Special:UserLogin 这个页面，填入用户名并点击“通过电邮发送新密码”按钮. 一个临时密码会发送到该用户名绑定的电子邮箱，一份重置密码的指导说明也会一同发送. 即使未确认电子邮件地址，也会发生这种情况.

根据电邮地址寻找用户名
如果您指导一个用户的电邮地址，但不知道用户名，那么您可以通过在 MediaWiki 数据库中请求 表，来寻找关联的用户名. 例如，要寻找 对应的用户名，可运行以下请求：

使用 changePassword.php 维护脚本
维护脚本使得系统管理员可以更改一个账户的密码. 详细方法请见 如果您已熟悉维护脚本，在 子目录下运行如下指令：

小心： 系统管理员不应得知未加密的用户账户密码. 用户可能会在多个网站上使用相同的密码. 如果这些网站上的其中一个账户发生密码泄露，那么就可以怀疑系统管理员泄露了密码. 推荐使用“邮寄新密码”以迫使用户自行重置密码，或设置一个稍后可以立即更改的临时密码.

使用 Special:PasswordReset
Special:PasswordReset允许具有“editmyprivateinfo”权限的用户重置本地安装的 MediaWiki 的密码.

使用方法如下：


 * 在框中输入想要重置密码的用户名，并点击“重置密码”
 * 一个自动生成的密码会通过电子邮件发送给用户

要在链接中自动插入用户名，使用.

使用resetpassword API
API提供与Special:PasswordReset相同的功能.

直接修改数据库
你可以通过改变数据库中 表的 字段来重置密码. 然而，一般来说使用“邮寄新密码”或使用 changePassword.php 脚本比这种方法要简单且安全得多. 您只能将直接修改数据库作为最后的手段，因为这很容易导致您的维基上出现意外的混乱. 在任何手动修改之前，必须备份数据库. 以下方法仅在使用 MediaWiki 默认身份验证程序时有效. 如果您正在使用更改了身份验证流程的扩展程序（例如 LDAPAuth），下列方法可能不起作用.

您看见的 user 表的格式会随着 中的   而改变. 然而，如果您使用了一种不同的格式，它会在用户下一次登入时自动变成正确的格式. 因此，对于本说明，我们展示了如何手动设置“B”格式. 通过SQL查询很容易设置这种格式. 它不是默认格式，因为它比 pbkdf2 弱. 但是这没有问题，因为 user_password 字段将在下次用户登入时升级为正确的格式.


 * MySQL 加盐（1234 是盐. 你可以用任何数字替换它，只要两处使用到该数字的地方是一样的即可）:


 * PostgreSQL 加盐:

注释
重启 Apache 并清空浏览器缓存可能会有帮助.

你可以将已知的密码从一个账户复制到另一个账户：

SELECT user_id, user_name, user_password FROM user; +-+---+--+ +-+---+--+ +-+---+--+
 * user_id | user_name | user_password                               |
 * 1 | User1    | :B:1d8f41af:1ba8866d9c43d30b7bc037db03a067de |
 * 2 | User2    | :B:ee53710f:4291b056175513a5602d48eaeb79705c |

UPDATE user SET user_password = ':B:ee53710f:4291b056175513a5602d48eaeb79705c' WHERE user_id = 1;