Назад | Перейти на главную страницу

Сброс солёного пароля администратора Drupal

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

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

Я не уверен, куда идти дальше; Любые идеи?

Мне не повезло с 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)

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

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

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

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

Вы заканчиваете неправильную базу данных! Таблица 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, - это admin, вы можете изменить пароли, используемые другими пользователями, изменив uid в этом запросе.