2.14.5.5. Зміна пароля адміністратора до Drupal

Дізнатися поточний пароль адміністратора технічно неможливо, оскільки він не зберігається на сайті у відкритому вигляді — зберігається тільки його хеш. Можлива тільки заміна пароля на новий.

Для зміни пароля користувача Drupal необхідно спочатку згенерувати хеш пароля, а потім оновити старий пароль у базі даних.

Генерація хешу пароля

  1. Підключіться до хостингу по SSH і перейдіть в каталог сайта Drupal. Змінити каталог можна за допомогою команди:
    cd /home/user/example.com/www/

    Змініть user на назву вашого хостинг-акаунту, example.com/www — на назву вашого піддомену, де встановлений Drupal. У деяких випадках може знадобитися перейти до каталогу core у проекті, якщо каталог скриптів було переміщено до нього.

  2. Виконайте команду:
    scripts/password-hash.sh new-password

    Замість new-password вкажіть бажаний новий пароль.

  1. В кореневому каталозі сайту створіть PHP-скрипт із вмістом, вказавши в ньому замість new_password новий пароль:
    <?php
    define('DRUPAL_ROOT', getcwd());
    require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
    drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
    require_once 'includes/password.inc';
    echo user_hash_password('new_password');
    die();
    menu_execute_active_handler();
    ?>
  2. Виконайте скрипт у браузері і відобразиться хеш пароля.

Оновлення пароля в базі даних

  1. У конфігураційному файлі сайту подивіться назву бази даних, до якої він підключений.
  2. Відкрийте базу даних в phpMyAdmin.
  3. Виконайте наступний SQL-запит, вказавши в ньому замість hash_password отриманий хеш пароля:
    UPDATE `drupal_users_field_data` SET pass = '$hash_password' WHERE uid = 1;

    Якщо назви таблиць в базі даних починаються не зі стандартного drupal_, а з іншого префікса, внесіть відповідну зміну в SQL-запит.

  4. Перевірте вхід в адмін-панель.
Drush встановлюється за інструкцією.
  1. Підключіться до хостингу по SSH і перейдіть в каталог сайта Drupal. Змінити каталог можна за допомогою команди:
    cd /home/user/example.com/www/

    Змініть user на назву вашого хостинг-акаунту, example.com/www — назва вашого піддомену, де встановлений Drupal.

  2. Виконайте команду для зміни пароля:
    drush upwd --password=NewPassword Username

    У команді: замість NewPassword вкажіть новий пароль, замість Username — потрібного користувача.

  3. Перевірте вхід в адмін-панель.
  1. У конфігураційному файлі сайту подивіться назву бази даних, до якої він підключений.
  2. Відкрийте базу даних в phpMyAdmin.
  3. Виконайте наступний SQL-запит, вказавши в ньому замість new_password новий пароль:
    UPDATE `drupal_user` SET pass = MD5('new_password') WHERE uid = 1;

    Якщо назви таблиць в базі даних починаються не зі стандартного drupal_, а з іншого префікса, внесіть відповідну зміну в SQL-запит.

  4. Перевірте вхід в адмін-панель.
Зміст