Сброс пароля администратора Drupal с солью

Сброс пароля администратора Drupal с солью

Есть старая виртуальная машина с настроенным на ней Drupal, и я не могу вспомнить пароль администратора. Процесс восстановления пароля отправил мне ссылку для сброса пароля, но сгенерированная страница выдала сообщение «Доступ запрещен».

Затем я попробовалнепосредственное редактирование таблицы пользователей Drupal в MySQL.Это бы сработало, если бы не тот факт, что был установлен модуль Salt, и поэтому хеш был недействительным.

Я не знаю, что делать дальше. Есть идеи?

решение1

Кажется, вы уже решили проблему, но вот ответ на всякий случай. Подключитесь к базе данных mysql и сделайте следующее:

  • выбрать значение из переменной, где имя='salt';
  • обновить пользователей, установить pass=md5('newpassSALT'), где uid=1; Где SALT — это значение, указанное выше.

Пароль следует сбросить на «newpass».

решение2

Мне не повезло с MD5('newpassSALT')методом, описанным впринятый ответ, так вот что сработало для меня. Обратите внимание, что вам нужно заменить свои собственные значения на следующие:

  • /var/www/path/to/drupal: место установки вашего Drupal
  • mynewpassword: желаемый вами пароль
  • drupaluser: пользователь базы данных Drupal
  • drupaldb:схема базы данных drupal

Шаг за шагом:

# cd /var/www/path/to/drupal
# scripts/password-hash.sh "mynewpassword"
password: mynewpassword     hash: $S$C/mWw8UGcAyCwLDOiqRBOShJl8w2vVLsSzYvqCMuAg/LSncU16Iy

# mysql -u drupaluser -p
enter your password:

mysql> use drupaldb
Database changed
mysql> update users set pass='$S$C/mWw8UGcAyCwLDOiqRBOShJl8w2vVLsSzYvqCMuAg/LSncU16Iy' where uid=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

решение3

У вас есть вторая учетная запись без прав администратора в вашей системе Drupal, которая работает? Она также использует заданный пароль? Можете ли вы напрямую редактировать таблицу MySQL и копировать пароль из известной учетной записи в учетную запись администратора?

решение4

Вы заканчиваете не ту базу данных! Таблица mysql.user предназначена специально для учетных записей mysql для доступа к базе данных Drupal. Если drupal говорит "доступ запрещен", то, вероятно, у него есть доступ к своей базе данных, а вы забыли пароль администратора drupal. Я настоятельно рекомендую использовать phpMyAdmin для этого.

1. Login to phpMyAdmin
2. Select the database which Drupal use from the drop-down menu on the left.
4. Click on the SQL tab.
5. In the text field on the page type the following text:
update users set pass=md5('NEWPASS') where uid = 1;

uid 1 — это администратор, вы можете изменить пароли, используемые другими пользователями, изменив uid в этом запросе.

Связанный контент