У випадку втрати пароля від акаунта адміністратора і неможливості відноіити його через форму відновлення (наприклад бів вказаний недійсна адреса электронної пошти) пароль можна відновити з допомогою генерації нового пароля (його хешу) й наступному його оновлению у базі даних.
Для скидання пароля адміністратора знадобиться доступ до командного рядка сервера й до бази даних
Генерація нового пароля
Для генерації хешу нового пароля виконайте наступну команду із кореневого каталога Друпал:
1 2 3 4 |
$ php core/scripts/password-hash.sh 'your-new-pass-here' password: your-new-pass-here hash: $S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2 |
Для Drupal 7 команда виглядає так
1 |
$ php scripts/password-hash.sh 'your-new-pass-here' |
…й кеш чистити не потрібно.
Оновлення пароля адміністратора.
Тепер оновлюємо пароль користувача, у нашому випадку – Адміністратора з UID 1, який однаковий для Drupal 7 й 8.
1 2 |
UPDATE users_field_data SET pass='$S$Do7UQjqtEELNccdi92eCXcVJ2KnwUeHrSbK3YhFm8oR3lRJQbMB2' WHERE uid = 1; |
Очистка кешу
Наразі увійти з новим паролем не вийде, т.я. система авторизації Друпал не звертається до таблиці users_field_data кожного разу, а використовує кеш.
Для очистки кеша адміністратора виконуємо наступний SQL запит:
1 2 |
DELETE FROM cache_entity WHERE cid = 'values:user:1'; |
Готово!