دەستکاری: دانانەوەی وشەی نهێنی

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Resetting passwords and the translation is 40% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎polski • ‎کوردی • ‎中文 • ‎日本語

هەر ژمارەیەکی ڕەوش هەن کە وابکەن بەکارهێنەرێک وشە نهێنییەکەی دابنێتەوە. زۆرجار، خەڵک وشە نهێنییەکەیان بیردەچێتەوە یان توشی جۆرێک لە تێکشکانی ئاساییشیان دەبنەوە کە وشە نهێنییەکەیان دادەخات. لە زۆربەی دۆخەکاندا، دەتوانن وشە نهێنییەکانی خۆیان دابنێنەوە بە بەکارهێنانی "ناردنی وشەی نهێنی"

لە دۆخێک کە بەکارهێنەران ناوی هەژمارەکەیان لە یاد چووبێتەوە یان چیتر دەستیان نەگات بە ئیمەیڵەکەیان، لەوانەیە پێوەری دیکە پێویستبێت لە لایەن بەڕێوەبەر یان بەڕێوەبەرێکی سیستەمەکەوە.

ڕێگاکان

بەکارهێنانی تایبەت:چوونە ژوورەوەی بەکارهێنەر

ئەگەر ناوی بەکارهێنەری هەژمارێک دەزانی، دەتوانی "ناردنی وشەی نهێنی بۆ ئیمەیڵ" لە پەڕەی Special:UserLogin بەکاربهێنی. بۆ بەکارهێنانی تایبەتمەندییەکە، سەردانی پەڕەی تایبەت:چوونەژوورەوەی بەکارهێنەر بکە، خانەی ناوی بەکارهێنەرەکە پڕبکەوە و دەست بنێ بە دوگمەی "ناردنی وشەی نهێنی". وشەیەکی نهێنی کاتی، لەگەڵ ڕێنماییەک بۆ چۆنییەتی دانانەوەی وشەی نهێنی هەژمارەکە، دەنێردرێت بۆ ئەو ئیمەیڵەی لەگەڵ ناوی بەکارهێنەرەکەیە. This will happen even if the email address has not been confirmed.

دۆزینەوەی ناوی هەژمار بۆ ئیمەیڵێکی بەردەست

ئەگەر ئیمەیڵی بەکارهێنەرێک دەزانی، بەڵام ناوی بەکارهێنەرەکەی نازانی، داوای زانیاری لە خانەی user table لە MediaWiki database بۆدۆزینەوەی ناوی هەژمارەکە. بۆ نموونە، بۆ دۆزینەوەی ناوی هەژماری user@example.com ئەم کوێرییەی خوارەوە پەیڕەو بکە:

SELECT user_name FROM user WHERE user_email = 'user@example.com';

نووسراوی changePassword.php maintenance script بەکاربهێنە

changePassword.php maintenance script ڕێگە بە سەرپەرشتیاری سیستەمەکە دەدات بۆ ئەوەی وشەی نهێنی هەژمارەکە بگۆڕێت بۆ ڕێنوێنی تەواو تەماشای changePassword.php بکە. If you are already familiar with maintenance scripts, run the following command from maintenance subdirectory:

# set the password for username 'example' to 'newpassword'
sudo php changePassword.php --user=example --password=newpassword

Caution: System administrators should not know the unencrypted password for user accounts. A user may use the same password over many different sites. If one of their accounts that uses the same password is compromised, then suspicion can be thrown on the administrator. It is better to use "Email new password" to force the user to reset the password for their own account or to set a temporary password the user changes directly afterwards.

Use Special:PasswordReset

Special:PasswordReset allows accounts with the 'editmyprivateinfo' permission to reset account passwords for the local installation of MediaWiki.

To use:

  • Type username you want to reset in box provided and click "Reset password"
  • An automatically generated password will be emailed to the user

For automatically inserting the username in links, use Special:PasswordReset?wpUsername=Foo.

Use the resetpassword API

The resetpassword API provides the same functionality as Special:PasswordReset.

Direct database modification

To reset a password you can change the value of the user_password field inside the user table in your database. However, it's generally far easier and safer to use "Email new password" or use the changePassword.php script. You should only use direct DB modification as a last resort, as its very easy to accidentally mess up your wiki. Always backup your database before doing any manual modification. The following only works when using MediaWiki's default authentication provider. If you are using an extension that modifies the authentication process (Like LDAPAuth), the following may not work.

The format you see in the user table will depend on $wgPasswordDefault in LocalSettings.php . However if you use a different format, it will automatically be changed to the correct format the next time the user logs in. Thus for this guide, we show how to manually set the "B" format. This format is very easy to set from an SQL query. It is not the default format as it is weaker than pbkdf2, however that's ok as the user_password field will be upgraded to the correct format the next time the user logs in.

MySQL salted (1234 is the salt. You can replace it with any number as long as both places the number is used are the same)
UPDATE `user` SET user_password = CONCAT(':B:1234:', MD5(CONCAT('1234-', MD5('somepass')))) WHERE user_name = 'someuser';
PostgreSQL salted
update mwuser SET user_password = text(':B:1234:') || MD5(text('1234-') || MD5('somepass')) WHERE user_name = 'someuser';

Notes

Also restarting Apache and clearing your browser cache might help.

You can copy the known password from one account to another:

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;