Jump to content

Manual:Restabliment de contrasenyes

From mediawiki.org
This page is a translated version of the page Manual:Resetting passwords and the translation is 23% complete.

Hi ha diverses situacions en què un usuari pot necessitar restablir la seva contrasenya. Normalment, la gent o bé oblida la seva contrasenya o bé experimenta algun tipus de violació de seguretat que pot haver revelat la seva contrasenya. En la majoria de situacions, poden restablir la seva pròpia contrasenya des de la finestra que s'obre clicant "Heu oblidat la contrasenya?" on podreu executar "Restableix la contrasenya".

En situacions en què l'usuari oblida el nom del seu compte o perd l'accés al seu correu electrònic, un administrador o un administrador del sistema pot haver de prendre mesures addicionals.

Mètodes

Utilitzar "Inici de sessió" (Special:UserLogin)

Si coneixeu el nom d'usuari d'un compte, podeu utilitzar la funció "Restableix la contrasenya" a la pàgina de la finestra que s'obre clicant "Heu oblidat la contrasenya?" a Inici de sessió. Per utilitzar la funció, cal omplir en el formulari els camps "Nom d'usuari" i "Adreça electrònica", per prémer, finalment, el botó "Restableix la contrasenya". S'enviarà una contrasenya temporal, juntament amb instruccions sobre com restablir la contrasenya del compte, a l'adreça electrònica associada amb el nom d'usuari. Anirà així, encara que no s'hagi omplert l'"Adreça electrònica" del formulari.

Trobar el nom d'usuari per a una adreça de correu electrònic determinada

Si coneixeu l'adreça electrònica d'un usuari, però no el seu nom d'usuari, consulteu la taula user de la base de dades MediaWiki per trobar el nom d'usuari associat. For example, to find the username for user@example.com, run the following query:

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

Use the changePassword.php maintenance script

The changePassword.php maintenance script allows system administrators to change the password for an account. For complete instructions see 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'
php run.php changePassword --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.

Note that (confusingly) Special:ResetPassword is an older alias to Special:ChangePassword and not related to password resets.

Differences between Special:PasswordReset and Special:ChangePassword

MediaWiki differentiates between "resetting" and "changing" a password. In password reset request (via Special:PasswordReset or from the login page), you will be asked to provide either an email and/or username (this is configurable) and then an email is automatically sent to you with a generated password. No login is required to access this page, but might be restricted with internal permission checks.

In password change request (via Special:ChangePassword), you'll be able to directly change the password on the spot (give the old one, and choose new one), but login is required to access the page. So if you cannot access Special:ChangePassword, use Special:PasswordReset to first get a temporary password to log in. But if you can access the former page, use it directly to change the password, this eliminates the need for the email stage. Special:PasswordReset can be disabled with Manual:$wgPasswordResetRoutes setting, if that's the case, and you cannot access Special:ChangePassword, then you need to ask your system administrator for help.

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 and default password configuration. 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;