Pull to refresh

Восстановление пароля администратора в 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"
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.