Как восстановить пароль администратора в Drupal?

Как восстановить пароль администратора в Drupal?
Как восстановить пароль администратора в Drupal?

Восстановление доступа через phpmyadmin

1) Зайти в phpmyadmin вашего сервера, предоставленного хостингом.
2) Найти базу данных сайта.
3) В базе данных найти таблицу «users» и нажать на неё.
4) В списке пользователей найти себя (в столбике «name» указываются все имена пользователей вашего сайта) и нажать «редактировать».
5) В поле pass, в столбике «значение», ввести $S$CXaciicTDWSFks5AanZNRLFR2W9P0v9A1/TPRV0MHbDguSJuh9vb — это хэш пароль, который соответвует значению 111222.

 

Более сложный вариант 

Может случиться так, что вы утратите пароль от своего аккаунта Drupal. Конечно, можно воспользоваться формой восстановления пароля.

Но что делать, если вы являетесь администратором сайта и адрес электронной почты при установке Drupal вы указали несуществующий? В этом случае форма восстановления пароля вам не поможет.

Я расскажу как «подобрать ключи» к вашему аккаунту.

В Drupal 5 и 6 достаточно выполнить запрос к базе данных, чтобы сбросить пароль админа:

    UPDATE users SET pass = md5('ВАШ_ПАРОЛЬ') WHERE uid = 1;

В Drupal 7 сброс пароля немного сложнее. А все потому, что в этой версии алгоритм шифрования пароля был изменен с MD5 на более устойчивый, с использованием SHA512.

Если у вас Drupal 7, то у вас есть несколько способов сбросить пароль:

1. Создать в корне сайта скрипт, который вызовет функцию user_hash_password для генерации хеша пароля.
Ниже пример содержимого скрипта.

<?php
    define('DRUPAL_ROOT', getcwd());
    require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
    require_once DRUPAL_ROOT . '/includes/password.inc';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
    echo user_hash_password('ВАШ_ПАРОЛЬ');
    die();
?>

Выполнив скрипт, вы получите строку-хеш пароля, например:
$S$DMzbGJybGry6UAjAcC9nMMnZrbIT4sTsI7XigxY/SyXUOlsIaTek.

Эту строку используйте в запросе к базе данных:

    UPDATE users
    SETpass = '$S$DMzbGJybGry6UAjAcC9nMMnZrbIT4sTsI7XigxY/SyXUOlsIaTek'
    WHERE uid = 1

2. Можно воспользоваться скриптом, который находится в папке /scripts установленного Drupal 7. Скрипт называется password-hash.sh.
Зайдите в корневую директорию установленного Drupal и с командной строки запустите скрипт для получения хеша пароля.

Под Linux команда будет выглядеть так:
/scripts/password-hash.sh ВАШ_ПАРОЛЬ
Под Windows придется воспользоваться PHP интерпретатором:

php .\scripts\password-hash.sh ВАШ_ПАРОЛЬ

Полученный хеш используйте в запросе к базе данных:
UPDATE users SET pass = 'ВАШ_ХЕШ' WHERE uid = 1;

3. Сбросить пароль можно также через утилиту Drush, если она у вас установлена.

Формат команды таков:
drush user-password username --password="new_password"