Швидкий скидання пароля адміністратора drupal

Часто виникає ситуація, коли потрібно швидко отримати адмінських доступ до Drupal для проведення зміни, але ми не знаємо пароля адміністратора. У цій замітці в першій частині розглянемо, як можна вийти з цієї ситуації, за допомогою drush, тобто ми замінимо пароль адміна, а потім після всіх маніпуляцій повернемо старий пароль адміна на місце. А в другій частині - без drush.

Для початку подивимося висновок команди:

Висновок буде, наприклад, таким:

Це означає, що ім'я користувача адміністратора "admin", а в полі pass знаходиться хеш його пароля. Збережемо значення хеша пароля, щоб після наших маніпуляцій ми могли повернути його на місце.
Тепер встановлюємо новий пароль для користувача admin:

Тепер можна провести всі необхідні зміни на сайті, так як ми знаємо пароль користувача з адмінській доступом.
Після проведення всіх змін необхідно повернути старий пароль на місце. Зробити це можна за допомогою такої команди:

Додано
Так само можна використовувати команду

Скидання пароля для Drupal 6
Зайти в mysql:

Знайти свою і встановити її для подальшого використання:

Виконати команду, яка встановить пароль "password" для користувача з ім'ям admin:

Таким чином ми в запиті передали пароль і на "льоту" виконали його шифрування.

Скидання пароля для Drupal 7
Перейти в директорію з сайтом і виконати команду:

У цій команді виконується скрипт, яким параметром передається новий пароль "new_password". Скрипт пароль шифрує за допомогою алгоритму SHA512 і видає зашифрований пароль у вигляді хешу:

Також хеш з новим паролем можна згенерувати такий спосіб:
Створити в корені сайту файл з розширенням .php, наприклад hash.php і помістити в нього код:

Де "new_password" - новий пароль

Замініть "example.com" на ім'я вашого домену

І ви отримаєте хеш нового пароля.
По закінченню видаліть файл hash.php!
Далі встановимо хеш з новим паролем для облікового запису, наприклад admin.

Установка нового пароля
Зайти в mysql:

Знайти свою і встановити її для подальшого використання:

Виконати команду, яка встановить хеш з паролем для користувача з ім'ям admin:

Бувають випадки, при яких отримати доступ до SSH не вдається, а пароль поміняти треба.
Для цих цілей можна написати скрипт, який робить завантаження ядра Drupal і надає доступ до функцій облікового запису. Цей приклад працює тільки для Drupal 7.

Створити файл з розширення .php і випадковим ім'ям, наприклад dy32h3.php в корені сайту з кодом:

При виконанні скрипта відбувається зміна пароля для облікового запису з uid 1, тобто для найголовнішої облікового запису.

Якщо скрипт виконається успішно, то з'явиться повідомлення:

По закінченню видаліть файл dy32h3.php!

kalabro (гість)