MySQLデータベースから直接postfixユーザーアカウントのパスワードを変更します。

MySQLデータベースから直接postfixユーザーアカウントのパスワードを変更します。

MySQLデータベースから直接postfixユーザーアカウントメールボックスのパスワードを変更する必要がありますが、使用する形式がわかりません。

形式は次のとおりです。

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

どんな形式ですか?どのように変更できますか?

答え1

$1$パスワードフィールドの先頭はMD5ハッシュであることを意味します。

MD5ハッシュでパスワードを暗号化するには、このコマンドを使用できますopenssl passwd

~から人々はopenssl:

passwd はハッシュされたパスワードを生成します。

そして次からopenssl passwd --help

-1 MD5ベースのパスワードアルゴリズム
-stdin stdinからパスワードを読む

したがって、MD5ハッシュを生成するには、短いbashの例を使用してください。

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

これを実行すると、予想される暗号化されたパスワードが出力されます。

$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/

したがって、MySQLデータベースのパスワードを「test123」に変更するには、MySQLプロンプトで次のようにします。

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

変更はすぐに有効になり、ユーザーは次回メールボックスにアクセスしたときに変更を確認できます。

関連情報