Ändern des Passworts des Postfix-Benutzerkontos direkt in der MySQL-Datenbank

Ändern des Passworts des Postfix-Benutzerkontos direkt in der MySQL-Datenbank

Ich muss das Kennwort eines Postfix-Benutzerkontopostfachs direkt in einer MySQL-Datenbank ändern. Ich habe jedoch keine Ahnung, welches Format verwendet wird.

Hier ist die Tabelle:

SELECT username,password FROM mailbox LIMIT 1;
+------------------+------------------------------------+
| username         | password                           |
+------------------+------------------------------------+
| [email protected] | $1$60Dgu9vc$T7vaQfTKgxUpci0TTnsyO0 |
+------------------+------------------------------------+

Welches Format hat es? Wie kann ich es ändern?

Antwort1

Der $1$Hinweis am Anfang des Passwortfeldes weist darauf hin, dass es sich um einen MD5-Hash handelt.

Um ein Passwort in einem MD5-Hash zu verschlüsseln, können Sie den openssl passwdBefehl verwenden.

AusMann openssl:

passwd Generierung von gehashten Passwörtern.

und von openssl passwd --help:

-1 MD5-basierter Passwortalgorithmus
-stdin liest Passwörter von stdin

Um den MD5-Hash zu generieren, hier ein kurzes Bash-Beispiel:

#/bin/bash
PASSWORD="test123"
MD5=`echo $PASSWORD | openssl passwd -1 -stdin`

Wenn Sie es ausführen, erhalten Sie als Ausgabe das gewünschte verschlüsselte Passwort:

$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/

Um das Passwort in der MySQL-Datenbank in „test123“ zu ändern, gehen Sie in der MySQL-Eingabeaufforderung folgendermaßen vor:

USE postfix UPDATE mailbox SET password="$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/" WHERE username="[email protected]";

Die Änderung wird sofort wirksam und der Benutzer wird die Änderung beim nächsten Postfachzugriff bemerken.

verwandte Informationen