Как стать автором
Обновить

Восстановление пароля администратора в Drupal

Может случиться так, что вы утратите пароль от своего аккаунта 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"
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.