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

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

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

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

      У деяких випадках може знадобитися перейти в каталог core у проекті, якщо каталог скриптів був переміщений у нього.

    3. Виконайте команду (замість new-password вкажіть новий пароль):
      scripts/password-hash.sh 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. Виконайте скрипт у браузері, і вам буде відображено хеш пароля.
  2. Оновіть пароль у базі даних:
    1. У конфігураційному файлі сайту подивіться назву бази даних, до якої він підключений.
    2. Відкрийте базу даних у phpMyAdmin.
    3. Виконайте наступний SQL-запит (замість hash_password вкажіть отриманий хеш пароля, також замість drupal_ вкажіть свій префікс таблиць, якщо він відрізняється від стандартного):
      UPDATE `drupal_users_field_data` SET pass = '$hash_password' WHERE uid = 1;
  3. Перевірте вхід в адмін-панель сайту.
  1. Підключіться до хостингу по SSH.
  2. Перейдіть у каталог сайту (в команді використовуйте свої дані):
    cd /home/user/example.com/www/
  3. Змініть пароль (замість NewPassword вкажіть новий пароль, замість Username — потрібного користувача):
    drush upwd --password=NewPassword Username
  4. Перевірте вхід в адмін-панель сайту.
  1. У конфігураційному файлі сайту подивіться назву бази даних, до якої він підключений.
  2. Відкрийте базу даних у phpMyAdmin.
  3. Виконайте наступний SQL-запит (замість new_password вкажіть новий пароль, також замість drupal_ вкажіть свій префікс таблиць, якщо він відрізняється від стандартного):
    UPDATE `drupal_user` SET pass = MD5('new_password') WHERE uid = 1;
  4. Перевірте вхід в адмін-панель сайту.
Зміст