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

Иногда по различным причинам нам нужно восстановить или изменить текущий пароль учетной записи администратора в Drupal, и мы думаем как это сделать? Варианты описанные здесь будут работать в версиях 8, 9, 10, 11 и последующих. В Drupal как и других современных CMS, пароль в базе хранится в зашифрованном виде, поэтому нам необходимо изменить пароль так как узнать текущий практически невозможно.

Для изменения пароля есть несколько вариантов, вариант с восстановлением через интерфейс, письмом на почту, слишком очевидный и его мы рассматривать не будем, поэтому первый вариантом будет использовать drush, если он установлен и у вас есть доступ к консоли.

Откройте терминал, перейдите в корневую директорию друпал (там где установлен) и выполните одно из следующих команд:
#изменить пароль
drush user:password admin "newpassword"

#или эту
drush user-password admin --password="newpassword"

#герерация единовременной линки для входа
drush uli

Второй вариант через базу данных MySQL, нужно выполнить запрос используя phpmyadmin или другой скрипт/программу для работы с mysql базой данных. Предварительно генерируем пароль через php в терминале:

php core/scripts/password-hash.sh 'newPassword'

А затем вставляем его в mysql запрос:

UPDATE users_field_data SET pass='$S$...generated_hash...' WHERE uid = 1;
DELETE FROM cache_entity WHERE cid = 'values:user:1';

Теги: Drupal
Новости