Podręcznik:Resetowanie haseł

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 100% complete.

Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎polski • ‎中文 • ‎日本語

Istnieje wiele sytuacji, w których użytkownik musi mieć zresetowane hasło. Zazwyczaj jest to spowodowane zgubieniem hasła lub problemami z bezpieczeństwem, mogącymi spowodować ujawnienie hasła. W większości przypadków swoje hasło można zresetować, korzystając z opcji "Wyślij mi nowe hasło poprzez e-mail".

W sytuacjach kiedy użytkownik zapomniał nazwy swojego konta lub utracił dostęp do swojego konta e-mail, dodatkowe działania musi podjąć administrator lub administrator systemu.

Metody

Użycie Special:UserLogin

Jeżeli znasz swoją nazwę użytkownika, możesz użyć funkcji "Wyślij mi nowe hasło poprzez e-mail" znajdującej się na stronie logowania (Special:UserLogin). Odwiedź stronę Special:UserLogin na odpowiedniej wiki, wypełnij pole "nazwa użytkownika", a następnie kliknij przycisk 'Wyślij mi nowe hasło poprzez e-mail'. Wygenerowane tymczasowe hasło wraz z instrukcjami na temat jego aktywacji zostaną wysłane na adres e-mail przypisany do konta.

Wyszukiwanie nazwy użytkownika poprzez podanie adresu e-mail

Jeżeli znasz adres e-mail użytkownika, ale nie znasz jego nazwy, wykonaj zapytanie SQL do tabeli user w bazie danych MediaWiki, aby odnaleźć powiązanego z tym adresem użytkownika. Przykład: aby znaleźć nazwę użytkownika posiadającego adres e-mail user@example.com, wykonaj poniższe zapytanie:

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

Użycie skryptu konserwacyjnego changePassword.php

Skrypt konserwacyjny changePassword.php umożliwia administratorom systemu zmianę hasła wybranego użytkownika. Po więcej informacji na temat użycia, zobacz: changePassword.php . Jeżeli jesteś już zaznajomiony ze skryptami konserwacyjnymi, uruchom poniższe polecenie:

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

Uwaga: Administratorzy systemu nie powinni znać niezaszyfrowanego hasła do konta użytkownika. Użytkownik może wykorzystywać to hasło na innych stronach. Jeżeli wystąpią problemy związane z jednym z tych kont, administrator może być o to podejrzany. Lepiej jest użyć opcji "Wyślij mi nowe hasło poprzez e-mail", wymusić na użytkowniku zmianę przez niego hasła lub ustawić tymczasowe hasło, które użytkownik będzie musiał od razu zmienić.

Użycie Specjalna:Wyczyść_hasło

Special:PasswordReset umożliwia użytkownikom z uprawnieniem 'editmyprivateinfo' zresetowanie hasła konta na lokalnej instalacji MediaWiki.

Aby skorzystać z tej funkcji:

  • Wpisz nazwę użytkownika, któremu chcesz wyczyścić hasło w odpowiednim polu i kliknij "Zresetuj hasło"
  • Automatycznie wygenerowane hasło zostanie wysłane e-mailem do użytkownika

Aby automatycznie wypełniać pole z nazwą użytkownika poprzez linki, użyj takiego formatu: Special:PasswordReset?wpUsername=Nazwa_użytkownika.

Bezpośrednia modyfikacja w bazie danych

Aby zresetować hasło użytkownika, możesz zmienić wartość pola user_password w tabeli user w bazie danych. Jednakże łatwiejszym i bezpieczniejszym sposobem jest użycie "Wyślij mi nowe hasło poprzez e-mail" lub użycie skryptu konserwacyjnego changePassword.php.

Jeżeli dla twojej instalacji MediaWiki włączono pamięć podręczną, taką jak APC, memcached lub Redis, to obiekty przechowujące dane o użytkowniku są w niej umieszczane. W związku z tym po wykonaniu zmian w SQL należy wyczyścić pamięć podręczną, zanim użytkownik będzie się mógł zalogować z nowym hasłem.

Zależnie od ustawienia $wgPasswordDefault w LocalSettings.php wybierz jedną z poniższych metod.

TODO: Fix documentation of the :pbkdf2:... password format. ":pbkdf2:sha256:10000:128:", 'another-string', 'another-key' only is correct sometimes! The numbers may change and no idea, what "another-string" and "another-key" actually are...
MySQL pbkdf2
UPDATE `user` SET user_password = CONCAT(':pbkdf2:sha256:10000:128:', 'another-string', 'another-key') WHERE user_name = 'someuser';
MySQL z solą (wystąpienia "somesalt" muszą być takie same)
UPDATE `user` SET user_password = CONCAT(':B:somesalt:', MD5(CONCAT('somesalt-', MD5('somepass')))) WHERE user_name = 'someuser';
PostgreSQL pbkdf2
update mwuser SET user_password = text(':pbkdf2:sha256:10000:128:') || 'another-stringanother-key' WHERE user_name = 'someuser';
PostgreSQL z solą (wystąpienia "somesalt" muszą być takie same)
update mwuser SET user_password = text(':B:somesalt:') || MD5(text('somesalt-') || MD5('somepass')) WHERE user_name = 'someuser';

Uwagi

Zrestartowanie Apache i wyczyszczenie pamięci przeglądarki powinno pomóc.

Można kopiować znane hasło z jednego konta do innego:

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;