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 DB のパスワードを「test123」に変更するには、MySQL プロンプトで次の操作を実行します。

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

変更はすぐに有効になり、ユーザーは次にメールボックスにアクセスしたときに変更に気付くでしょう。

関連情報