В Drupal 5 и 6 достаточно выполнить запрос к базе данных, чтобы сбросить пароль админа:
UPDATE users SET pass = md5('ВАШ_ПАРОЛЬ') WHERE uid = 1;
В Drupal 7 сброс пароля немного сложнее. А все потому, что в этой версии алгоритм шифрования пароля был изменен с MD5 на более устойчивый, с использованием SHA512.
Способ 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 и с командной строки запустите скрипт для получения хеша пароля.
/scripts/password-hash.sh ВАШ_ПАРОЛЬ
Полученный хеш используйте в запросе к базе данных:
UPDATE users SET pass = 'ВАШ_ХЕШ' WHERE uid = 1;
Способ 3:
Сбросить пароль можно также через утилиту Drush, если она у вас установлена.
Формат команды таков:
drush user-password username --password="new_password"