Сброс пароля администратора друпал

Автор: Aussie, 3 февраля, 2023
В случае утраты пароля от аккаунта администратора и невозможности восстановить его через форму восстановления (например был указан несуществующий адрес электронной почты или тех.сбое на сайте) пароль можно восстановить с помощью генерации нового пароля (его хэша) и последующему обновлению его в базе данных. Для сброса пароля администратора рассмотрим два варианта в первом случае нам понадобиться доступ к командной строке сервера, а во втором к командной строке сервера и к базе данных. Лично мне больше нравится второй. 1 СПОСОБ Генерация нового пароля Для генерациия хэша нового пароля выполните следующую команду из корневого каталога Друпал: $ php core/scripts/password-hash.sh 'your-new-pass-here' password: your-new-pass-here hash: YOUR_HASH 1 2 3 4 $ php core/scripts/password-hash.sh 'your-new-pass-here' password: your-new-pass-here hash: YOUR_HASH Для Drupal 7 команда выглядит как $ php scripts/password-hash.sh 'your-new-pass-here' 1 $ php scripts/password-hash.sh 'your-new-pass-here' …и кеш чистить не нужно. Обновление пароля администратора. Теперь обновляем пароль пользователя, в нашем случае — Администратора с UID 1, который одинаков для Drupal 7/8/9/10. UPDATE users_field_data SET pass='YOUR_HASH' WHERE uid = 1; 1 2 UPDATE users_field_data SET pass='YOUR_HASH' WHERE uid = 1; Очистка кеша Если попробовать войти с новым паролем сейчас то ничего не выйдет, т.к. система авторизации Друпал не обращается к таблице users_field_data каждый раз, а использует кеш. Для очистки кеша администратора выполняем следующий SQL запрос: DELETE FROM cache_entity WHERE cid = 'values:user:1'; 1 2 DELETE FROM cache_entity WHERE cid = 'values:user:1'; Готово! ВТОРОЙ СПОСОБ Восстановление пароля в phpmyadmin 1) Заходим в базу данных через phpmyadmin. 2) Находим таблицу "users" и заходим в нее. 3) Находим в списке пользователей нужного пользователя и жмем "Редактировать". 4) В поле pass, в столбике "значение", ввести