
Есть старая виртуальная машина с настроенным на ней Drupal, и я не могу вспомнить пароль администратора. Процесс восстановления пароля отправил мне ссылку для сброса пароля, но сгенерированная страница выдала сообщение «Доступ запрещен».
Затем я попробовалнепосредственное редактирование таблицы пользователей Drupal в MySQL.Это бы сработало, если бы не тот факт, что был установлен модуль Salt, и поэтому хеш был недействительным.
Я не знаю, что делать дальше. Есть идеи?
решение1
Кажется, вы уже решили проблему, но вот ответ на всякий случай. Подключитесь к базе данных mysql и сделайте следующее:
- выбрать значение из переменной, где имя='salt';
- обновить пользователей, установить pass=md5('newpassSALT'), где uid=1; Где SALT — это значение, указанное выше.
Пароль следует сбросить на «newpass».
решение2
Мне не повезло с MD5('newpassSALT')
методом, описанным впринятый ответ, так вот что сработало для меня. Обратите внимание, что вам нужно заменить свои собственные значения на следующие:
/var/www/path/to/drupal
: место установки вашего Drupalmynewpassword
: желаемый вами парольdrupaluser
: пользователь базы данных Drupaldrupaldb
:схема базы данных 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 в этом запросе.