Manuel:Remise à zéro du mot de passe
Il y a plusieurs situation dans lesquelles un utilisateur doit remettre à zéro son mot de passe. Souvent, les gens oublient leur mot de passe ou subissent une faille de sécurité peut avoir révélé leur mot de passe. Dans la plupart des cas, ils peuvent remettre à zéro leur propre mot de passe en utilisant Special:PasswordReset
Dans les cas où l'utilisateur oublie son nom de compte ou perd l'accès à son adresse email, des mesures supplémentaires doivent peut-être être prises par un administrateur ou un administrateur système.
Méthodes
Utiliser Special:UserLogin
Si vous connaissez le nom d'utilisateur pour un compte, vous pouvez utiliser l'option "Envoyer un nouveau mot de passe" sur la page Spécial:ConnexionUtilisateur. Pour utiliser cette fonctionnalité, visitez la page Spécial:ConnexionUtilisateur pour le wiki pertinent, remplissez le champ Utilisateur du formulaire et cliquez sur le bouton "Envoyer un nouveau mot de passe". Un mot de passe temporaire, avec des instructions sur comment réinitialiser le mot de passe du compte, sera envoyé à l'adresse email associée ou nom d'utilisateur. Ceci arrivera même si l'adresse e-mail n'a pas été confirmée.
Trouver le nom d'utilisateur à partir d'une adresse courriel donnée
Si vous connaissez l'adresse email d'un utilisateur, mais pas leur nom, faites une requête au tableau user
de la base de données MédiaWiki pour trouver le nom associé.
Par exemple, pour trouver le nom d'utilisateur de user@example.com
, lancez la requête suivante:
SELECT user_name FROM user WHERE user_email = 'user@example.com';
Utiliser le script de maintenance changePassword.php
Le script de maintenance changePassword.php permet aux administrateurs système de changer le mot de passe pour un compte.
Pour les instructions complètes voir changePassword.php .
Si vous êtes déjà familier avec les scripts de maintenance, exécuter la commande suivante depuis le répertoire maintenance
:
# set the password for username 'example' to 'newpassword'
php run.php changePassword.php --user=example --password=newpassword
Attention: Les administrateurs système devraient ne pas connaître des mots de passe utilisateur non cryptés. Un utilisateur pourrait utiliser le même mot de passe sur de nombreux autres sites. Si un de leurs comptes utilisant ce mot de passe est compromis, on peut soupçonner l'administrateur. Il vaut mieux utiliser "Envoyer un nouveau mot de passe" pour forcer les utilisateurs à réinitialiser leur mot de passe ou à définir un mot de passe temporaire qu'ils changeront plus tard.
Utiliser Special:PasswordReset
Special:PasswordReset permet aux comptes avec la permission 'editmyprivateinfo
' de réinitialiser des mots de passe utilisateur sur le MédiaWiki local.
A utiliser :
- Tapez le nom de l'utilisateur dont vous voulez réinitialiser le mot de passe dans la case fournie et cliquez "réinitialiser le mot de passe"
- Un mot de passe automatiquement généré sera envoyé à l'utilisateur
Pour insérer automatiquement le nom d'utilisateur dans les liens, utilisez Special:PasswordReset?wpUsername=Foo
.
Note that (confusingly) Special:ResetPassword is an older alias to Special:ChangePassword and not related to password resets.
Différences entre Special:PasswordReset et 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 Manuel:$wgPasswordResetRoutes setting, if that's the case, and you cannot access Special:ChangePassword, then you need to ask your system administrator for help.
<span id="Use_the_resetpassword
_API">
Utiliser l'API resetpassword
L'API resetpassword fournit la même fonctionnalité que Special:PasswordReset.
Modification directe de la base de données
Pour réinitialiser un mot de passe vous pouvez changer le champ user_password
du tableau user
dans votre base de données.
Toutefois, il est en général plus facile et sécurisé d'utiliser "Envoyer un nouveau mot de passe" ou d'utiliser me script changePassword.php.
Vous devriez ne vous rabattre sur la modification directe de la BD qu'en dernier recours, vu qu'il est très facile de bousiller votre wiki.
Toujours sauvegarder la base de données avant de la modifier manuellement.
La méthode ci-dessous ne fonctionne que si vous utilisez le fournisseur d'authentification par défaut de MédiaWiki.
Si vous utilisez une extension qui modifie le processus d'authentification (comme LDAPAuth), elle pourrait ne pas fonctionner.
Le format que vous voyez dans le tableau utilisateur dépendra de $wgPasswordDefault
dans LocalSettings.php .
Toutefois, si vous utilisez un format différend, il sera automatiquement changé au format correct la prochaine fois que l'utilisateur se connecte.
Donc pour ce guide, nous montrons comment manuellement préparer le format "B".
Ce format est très facile à préparer depuis une requête SQL.
Il n'est pas le forma par défaut comme il est moins fiable que pbkdf2, toutefois cela importe peu puisque le champ user_password sera amélioré au format normal à la prochaine connexion de l'utilisateur.
- MySQL salé (1234 est le sel. Vous pouvez le remplacer par n'importe quel nombre tant que vous utilisez le même les deux fois)
UPDATE `user` SET user_password = CONCAT(':B:1234:', MD5(CONCAT('1234-', MD5('somepass')))) WHERE user_name = 'someuser';
- PostgreSQL salé
update mwuser SET user_password = text(':B:1234:') || MD5(text('1234-') || MD5('somepass')) WHERE user_name = 'someuser';
Notes
Relancer Apache et vider le cache de votre navigateur pourrait aussi aider.
Vous pouvez copier le mot de passe connu d'un compte à un autre:
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;