Zurücksetzen des gesalzenen Drupal-Administratorkennworts

Zurücksetzen des gesalzenen Drupal-Administratorkennworts

Ich habe eine alte VM mit darauf konfiguriertem Drupal und kann mich nicht an das Administratorkennwort erinnern. Der Kennwortwiederherstellungsprozess hat mir einen Link zum Zurücksetzen des Kennworts gesendet, aber die generierte Seite lautete „Zugriff verweigert“.

Ich habe dann versuchtdirektes Bearbeiten der Drupal-Benutzertabelle in MySQL.Dies hätte funktioniert, wenn nicht das Salt-Modul installiert gewesen wäre und der Hash deshalb ungültig gewesen wäre.

Ich weiß nicht genau, wie es jetzt weitergehen soll. Irgendwelche Ideen?

Antwort1

Anscheinend haben Sie das Problem bereits gelöst, aber hier ist trotzdem eine Antwort. Stellen Sie eine Verbindung zur MySQL-Datenbank her und führen Sie Folgendes aus:

  • Wählen Sie einen Wert aus einer Variablen, deren Name „Salz“ ist.
  • update users set pass=md5('newpassSALT'), wobei uid=1; wobei SALT der oben angegebene Wert ist.

Das Passwort sollte auf „newpass“ zurückgesetzt werden.

Antwort2

Ich hatte kein Glück mit der MD5('newpassSALT')Methode, die in derakzeptierte Antwort, also hier ist, was bei mir funktioniert hat. Beachten Sie, dass Sie Folgendes durch Ihre eigenen Werte ersetzen müssen:

  • /var/www/path/to/drupal: der Ort, an dem Ihr Drupal installiert ist
  • mynewpassword: Ihr gewünschtes Passwort
  • drupaluser: der Drupal-Datenbankbenutzer
  • drupaldb:das Drupal-Datenbankschema

Schritt für Schritt:

# 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)

Antwort3

Haben Sie auf Ihrem Drupal-System ein zweites Nicht-Administratorkonto, das funktioniert? Verwendet es auch das angegebene Passwort? Können Sie die MySQL-Tabelle direkt bearbeiten und das Passwort von einem bekannten Konto auf das Administratorkonto kopieren?

Antwort4

Sie beenden die falsche Datenbank! Die Tabelle mysql.user ist speziell für MySQL-Konten gedacht, die auf die Datenbank von Drupal zugreifen. Wenn Drupal „Zugriff verweigert“ meldet, hat es wahrscheinlich Zugriff auf seine Datenbank und Sie haben das Administratorkennwort von Drupal vergessen. Ich empfehle dringend, hierfür phpMyAdmin zu verwenden.

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;

Die UID 1 ist der Administrator. Sie können die von anderen Benutzern verwendeten Passwörter ändern, indem Sie die UID in dieser Abfrage ändern.

verwandte Informationen