直接在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]";

更改立即生效,用户将在下次访问邮箱时注意到更改。

相关内容