Нужно восстановить пароль супер-админа (user#1) Друпала.
Решение
Варианты
- Если есть другой пользователь с привилегиями админа
- Если есть доступ к базе данных
Если есть другой пользователь с привилегиями админа
Первый способ, которым можно воспользоваться для восстановления пароля - это другой пользователь с административными привилегиями. С помощью этого пользователя можно зайти в панель управления Drupal, и изменить пароль для администратора, потерявшего свой пароль. К сожалению, не всегда имеется пользователь с административными привилегиями. Если у вас нет такого пользователя, то не стоит отчаиваться - есть второй способ.
Если есть доступ к базе данных
Второй способ восстановления пароля заключается в том, чтобы войти в базу данных, и средствами phpmyadmin изменить уже имеющийся пароль администратора. Помните, что пароли в базе данных Drupal, хранятся в зашифрованном виде, в таблице users. Расшифровать нынешний пароль дело не лёгкое и бесполезное.
Генерация пароля в командной строке
Можно сгенерировать MD5-хэш нового пароля с помощью утилиты md5sum:
Обратите внимание:
если не используется ключ "-n", то хеш будет не для пароля
"new pass", а для "new pass\n", т.к. команда echo по умолчанию добавляет перевод строки (\n)
Нужно использовать ключ "-n", что бы не вставлялся перевод строки. Подробнее см. man echo.
Генерация пароля через PHP
Можно генерировать MD5-хэш нового пароля через консольный интерфейс php:
Использование MD5-хэша известного пароля
Если вы не можете сгенерировать пароль, то используйте MD5-хэш пароля из базы данных пользователя, пароль которого вы знаете.
Если никого не знаете - зарегистрируйте нового пользователя.
Если не получается зарегистрировать - создайте пользователя на локальном сервере или воспользуйтесь одним из приведённых ниже хешей:
- "new pass":a2173fd7fd80ec5cbac15e2255ee8d78
- "NOpassword":2972f12f8765aefa4f5d6357639a7e07
- "admins_password":ea39de38e5f0c152892600f98f64b9fa
- "admin_has_lost_his_password":d7099bf8db6a50874a726e791ae0a1af
После удачного входа пароль нужно сразу же сменить!
Когда MD5-хеш пароля уже получен, с помощью phpmyadmin выполнить запрос:
где,
- префикс_user - название таблицы с префиксом, если он используется.
- MD5-хеш - MD5 значение нового пароля.
Генерация пароля функцией MySQL
Использованные материалы
Drupal: руководство по пользованию











Комментарии
Можно проще делать UPDATE базы, таким запросом
UPDATE префикс_user SET pass = MD5('НОВЫЙ_ПАРОЛЬ') WHERE uid = 1
Исправил рецепт и внёс уточнение по поводу ключа -n. Спасибо