Drupal Admin-Passwort zurücksetzen: So geht’s 

Lesezeit ca: 6 min

Passwörter sind heutzutage allgegenwärtig. Sie identifizieren Benutzer und sollen Systeme vor unbefugtem Zugriff schützen. Das gilt natürlich auch für lokale Drupal-Installationen auf deinem Rechner. 

Stell dir vor: Du setzt eine lokale Drupal-Entwicklungsumgebung neu auf, vergisst das Admin-Passwort zu notieren oder sicher zu speichern und gleichzeitig ist der SMTP-Versand für E-Mails noch nicht eingerichtet. In dieser Situation kannst du die Standard-Funktion zum Zurücksetzen des Passworts («Passwort vergessen?») nicht nutzen. Das Passwort muss stattdessen manuell geändert werden. In diesem Beitrag zeigen wir dir zwei gängige Methoden dafür: das Zurücksetzen über die Datenbank und die Verwendung von Drush. 

Methode 1:
Zurücksetzen des Admin-Passwort über die Datenbank 

Voraussetzungen

  • Zugriff auf die Verzeichnisse deiner Drupal-Installation 
  • Zugriff auf die Datenbank (am einfachsten über ein Tool wie phpMyAdmin) 

Passwort-Hash generieren 

Als Erstes musst du einen Hash deines neuen Passworts erstellen. Wechsle dazu in das Root-Verzeichnis deiner Drupal-Installation (web) und führe folgenden Befehl in der Kommandozeile aus: 

php core/scripts/password-hash.sh 'neuespasswort'

Ersetze «neuespasswort» in diesem Beispiel durch dein gewünschtes neues Passwort. Die Ausgabe in der Konsole sieht dann etwa so aus: 

password: neuespasswort         hash: $S$Eno1EhlPNMqE2RfDOBT13tzGCAdN9PgKqJFGI.4sBSj1XgJfPH68

Unter password steht das von dir eingegebene Passwort im Klartext, unter hash findest du den verschlüsselten Passwort-Hash. Diesen Hash benötigst du im nächsten Schritt, um ihn in die Datenbank einzutragen. Kopiere ihn dir. 

Das Admin-Passwort in der Datenbank aktualisieren 

Öffne phpMyAdmin (oder ein anderes Datenbank-Tool) und wähle die Datenbank deiner Drupal-Installation aus. Wechsle zum Reiter oder Bereich für SQL-Befehle. 

Du kannst nun den Eintrag deines Admin-Benutzers (üblicherweise mit der uid = 1) in der Tabelle users_field_data suchen und den zuvor generierten Hash-Wert manuell in das Feld pass eintragen. 

  • Finde den Eintrag des Administrators (meist uid = 1). 
  • Bearbeite diesen Eintrag und ersetze den Inhalt des Feldes pass durch den neuen Hash, den du im vorherigen Schritt generiert hast. 

Alternativ: Du kannst die Änderung auch direkt mit folgendem SQL-Befehl durchführen. Ersetze dabei den Beispiel-Hash durch deinen eben generierten Hash: 

UPDATE users_field_data 
SET pass = '$S$Eno1EhlPNMqE2RfDOBT13tzGCAdN9PgKqJFGI.4sBSj1XgJfPH68' -- Ersetze dies durch deinen Hash! 
WHERE uid = 1;

Hinweis: Du kannst auf diese Weise auch Passwörter für andere Benutzer ändern – achte einfach darauf, die korrekte uid im WHERE-Teil des SQL-Befehls anzugeben. 

Cache löschen 

Es kann vorkommen, dass du dich auch nach der Änderung des Passwort-Hashes in der Datenbank noch nicht einloggen kannst. Das liegt oft daran, dass Drupal beim Login auf zwischengespeicherte (gecachte) Benutzerdaten zugreift. Daher musst du den entsprechenden Cache-Eintrag für den Benutzer löschen. Danach sollte dein neues Passwort aktiv sein, und du kannst dich wieder als Administrator anmelden. Führe dazu folgenden SQL-Befehl in deiner Datenbank aus: 

DELETE FROM cache_entity WHERE cid = 'values:user:1';

Hinweis: Passe die uid in values:user:1 an, falls du das Passwort für einen anderen Benutzer als den mit uid = 1 geändert hast.

Methode 2:
Admin-Passwort mit Drush zurücksetzen 

Wenn du Drush (das Kommandozeilen-Tool für Drupal) installiert hast, ist das Zurücksetzen des Passworts besonders einfach und erfordert keine direkten Datenbankeingriffe. 

Voraussetzungen

  • Drush ist in deinem Projekt installiert (lokal oder global). 
  • Du hast Zugriff auf die Kommandozeile im Root-Verzeichnis deiner Drupal-Installation. 

Befehl zum Zurücksetzen des Admin-Passwort

Führe den folgenden Befehl aus. Ersetze dabei admin durch den tatsächlichen Benutzernamen des Kontos (oft ist dies «admin» oder der Benutzer mit uid = 1) und neuespasswort durch dein gewünschtes neues Passwort: 

drush user:password admin neuespasswort

Drush erledigt alles Weitere im Hintergrund: Es generiert den Passwort-Hash, aktualisiert den Datenbankeintrag und löscht die relevanten Caches. Nach wenigen Sekunden ist das neue Passwort aktiv, und du kannst dich sofort wieder einloggen. 

Fazit 

Ob per SQL oder mit Drush – das Zurücksetzen eines Admin-Passworts in Drupal ist unkompliziert, wenn man weiß, wie es geht. Besonders für lokale Entwicklungsumgebungen, bei denen der E-Mail-Versand oft nicht konfiguriert ist, sind diese Methoden sehr praktisch. 

Wenn du häufiger mit Drupal arbeitest, lohnt es sich definitiv, Drush zu installieren und zu nutzen. Es vereinfacht nicht nur das Zurücksetzen von Passwörtern, sondern auch viele andere alltägliche Aufgaben im Entwicklungs-Workflow erheblich.