Может случиться, что вы забыли пароль к свой записи к вики. Если при регистрации было заполнено поле e-mail, и система проверила его корректность (прислала письмо подтверждения) - тогда все хорошо, пароль может прийти к вам на этот e-mail. Если это не получается, то придется попросить администратора сменить пароль для вас.
А теперь представьте, что вы администратор сервера, на котором установлена вики и вам нужно сменить пароль пользователя. Уже сложнее, не так ли?
Как это делается:
1. Создать новую директорию на сервере с вики:
wiki-install-folder/extensions/PasswordReset
2. Скачать 4 файла, добавляющие поддержку сброса паролей:
3. Скопировать их в созданную директорию
4. Добавить в конец файла LocalSettings.php следующий код:
$wgGroupPermissions['sysop']['passwordreset'] = true;
require_once( “$IP/extensions/PasswordReset/PasswordReset.php” );
5. Теперь в специальных страницах у администраторов появляются еще две - Password Reset и Disabled users
Еще более интересный вариант - вы администратор, но забыли пароль администратора, и на e-mail он к вам не приходит. Придется действовать напрямую с помощью запросов к базе данных.
1. Открываем файл LocalSettings.php и ищем строчки
$wgDBtype - тип базы данных
$wgDBserver - имя сервера
$wgDBname - имя базы данных
$wgDBuser - имя пользователя базы данных
$wgDBpassword - пароль
$wgDBprefix - префикс имен таблиц
1. Открываем PhpMyAdmin (или что-то, с помощью чего вы можете вносить изменения в базу) и заходим, используя найденные имя и пароль.
2. Находим нужную базу (с именем $wgDBname) и выводим на экран содержимое таблицы $wgDBprefixuser (если префикс не используется, то просто user). Ищем требуемого пользователя в списке и выясняем его id.
3. Выполняем SQL-запрос:
если база типа MySQL, то
UPDATE user SET user_password = MD5(CONCAT(user_id, ‘-’,
MD5(’somepass’))) WHERE user_name = ’someuser’;
если база типа PostGreSQL, то
UPDATE mwuser SET user_password =
md5(user_id || ‘-’ || md5(’somepass’)) WHERE user_name=’someuser’;
Где:
user - имя таблицы. Если префикс имени используется, то вместо user имя будет $wgDBprefixuser
someuser - имя пользователя (регистр имеет значение)
user_id - id пользователя (его выяснили на предыдущем пункте)
somepass - новый пароль
Вот в общем-то и все.

(4 out of 5)











0 responses so far ↓
There are no comments yet...Kick things off by filling out the form below.
Leave a Comment