FOL9000

Verlorenes Admin-Passwort in Magento wiederherstellen

von

Was tun, wenn man nur einen einzigen Admin-Account für seinen Shop hat und das Passwort vergessen hat? Bei einem Bekannten gab es neulich dieses Problem. Wie es dazu kommen konnte ist eine ganz andere Geschichte, aber was tun, wenn man partout nicht mehr ins Backend kommt?

Natürlich, man kann eine solche Situation vermeiden: Mehrere User mit vollen Admin-Rechten anlegen, korrekte Email-Adressen für diese User hinterlegen etc. etc. Aber hier war nun mal alles zu spät, nichts funktionierte mehr.

Hat man Zugriff auf die Datenbank der Magento-Installation, ist die Rettung ganz einfach. Es gibt sicher noch einige weitere Möglichkeiten, aber ich möchte hier nur zwei kurz anreißen. (Ich habe dann doch eine ganz andere benutzt und war damit auch erfolgreich, diese Methode passte aber auch nur in diesem Einzelfall; deswegen beschreibe ich sie hier nicht.)

In allen Fällen aber gilt: Vorher ein Backup der zu ändernden Datenbanken machen. Weil hier verschlüsselte Werte manipuliert werden, kann man diese im Fehlerfalle nicht einfach aus dem Kopf rekonstruieren! Also Vorsicht — beide Wege besser erst in einer Test-Installation ausprobieren! Verzweiflung hin oder her: Wer sowas an einem Live-System testet, ist selber schuld.

Passwort kopieren

Die erste Möglichkeit ist, das Passwort eines anderen Users — es kann auch aus einer anderen Magento-Installation sein! — in die Passwort-Tabelle der betroffenen Magento-Installation zu kopieren. Die Passwörter in der Datenbank-Tabelle sind natürlich verschlüsselt — aber das spielt keine Rolle.

Zunächst öffnet man die Datenbank, aus der ein bekanntes Passwort heraus kopiert werden soll, z.B. in phpmyadmin. Die User und ihre Passwörter finden sich in der Tabelle admin_user, das jeweilige Passwort in der Spalte password. Dort einfach das bekannte Passwort kopieren. Nun die Datenbank der Installation mit dem vergessenen Passwort öffnen und dort in der gleichen Tabelle in der Passwort-Spalte des Admins den kopierten Wert einfügen. Nach dem Speichern sollte das Login mit dem kopierten Passwort funktionieren.

Passwort mit MySQL-Funktion setzen

Bei der zweiten Möglichkeit wird das alte Passwort einfach mit einem neuen überschrieben.

Ein Hinweis vorweg: Ich hab diese Möglichkeit nicht ausprobiert, aber vielleicht ist es ja trotzdem ein Versuch wert. Wer es probiert, sollte wissen was und v.a. wo er es tut.

Für diese Möglichkeit lässt man MySQL den Hash für das neue Passwort berechnen und überschreibt damit den alten Wert.

INSERT INTO admin_user (password) VALUES (MD5('XY'+'neues_passwort')

Kommentare sind geschlossen.