Часто виникає ситуація, коли потрібно швидко отримати адмінських доступ до 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 (гість)