Сброс пароля от панели администратора Drupal 8

Запуск скрипта

Для сброса пароля администратора в Drupal 8 предусмотрен скрипт, который нужно запустить подключившись по SSH.

Подключиться можно несколькими способами, например с помощью нашего терминала прямо в панели управления или с помощью Putty.

После подключения необходимо определить, где лежит нужный нам скрипт. Его путь по умолчанию от корня аккаунта имеет вид Имя_сайта/public_html/core/scripts/password-hash.sh, где "Имя_сайта" это наименование директории, в которой располагается папка public_html Вашего сайта. Посмотреть имя можно прямо в разделе Сайты:

В нашем случае сайт называется drupal, поэтому путь до скрипта будет иметь следующий вид:

drupal/public_html/core/scripts/password-hash.sh

Для того, чтобы всё прошло без ошибок, введём команду, которая сменит текущую рабочую директорию на корень аккаунта.

./drupal/public_html/core/scripts/password-hash.sh BegetNewPass

Корректный вывод выполненной команды:

В результате работы скрипта мы получаем 2 значения:

  • password – в которой обозначен заданный нами пароль;
  • hash – в которой выведен результат хэширующий функции.

Нам нужно сохранить значение поля hash. В нашем случае это:

$S$Ezgur566T82NVMIYviCNmgaHofUiRg3PUtIOBRAB47Ra2y2HGMAj

Теперь нам осталось поместить это значение в нужное поле в базе данных сайта.

Как узнать имя базы?

Узнать имя базы данных, с которой работает сайт, можно в конфигурационном файле settings.php , который находится в директории ./sites/default/ от корня сайта. Местоположение корня сайта можно увидеть в разделе Сайты. Он имеет вид Имя_сайта/public_html.

На скриншоте видно, что в нашем случае корнем сайта является директория drupal/public_html, соответственно, файл будет находиться по следующему пути:

drupal/public_html/sites/default/settings.php

Теперь нам нужно открыть этот файл любым удобным способом, например, через Файловый менеджер, и найти в нём следующие строки:

'database' => 'passreset_dp1',

'prefix' => ' ',

Значения в этих строках означают имя базы, с которой работает сайт, passreset_dp1 и префикс таблиц базы, который в данном случае отсутствует.
В вашем случае название базы данных будет отличаться, а префикс таблиц может быть таким же.

Редактирование базы данных

После того, как мы узнали имя базы, нам нужно попасть в саму базу данных. Сделать это можно через phpMyAdmin в разделе MySQL. Находим нужную базу данных в списке и напротив неё нажимаем иконку PMA. Возможно, сразу phpMyAdmin не откроется, так как Ваш браузер блокирует всплывающие окна, поэтому разрешите использование всплывающих окон.

Перед нами база данных, с которой работает наш сайт. Нам нужно найти таблицу с пользователями нашего сайта. Её название имеет следующий вид – Префикс_users_field_data. В нашем случае она называется users_field_data. Найдём её в списке и нажмём на неё:

Перед нами появилась информация из таблицы users_field_data, в которой указана информация о всех зарегистрированных пользователях вашего сайта. Вам нужно найти строку с логином Вашей учётной записи, в нашем случае это учётная запись admin. Теперь откроем эту строку для редактирования, нажав на иконку с карандашом в левой части строки:

Теперь приступим к самой смене пароля. Для этого находим строку с названием pass:

В поле Значение, указанное на скриншоте как "Вставляем хэш сюда" вставляем наш хэш, который мы сгенерировали с помощью скрипта ранее.

В итоге поля должны выглядеть следующим образом:

Теперь необходимо нажать кнопку Вперёд, расположенную в нижней части страницы, чтобы сохранить внесённые изменения.

После всех выполненных действий пароль успешно изменился. Для проверки перейдите на страницу авторизации в админ.панель Вашего сайта и введите логин Вашего аккаунта и новый пароль.

Если у Вас что-то не получилось или возникают сложности, обратитесь в техническую поддержку с подробным описанием проблемы и уже сделанных Вами действий. Наши специалисты обязательно помогут Вам.

Теги:

7
2904