我需要直接在 MySQL 数据库中更改 postfix 用户帐户邮箱的密码;但是我不知道使用的格式。
这是表:
SELECT username,password FROM mailbox LIMIT 1;
+------------------+------------------------------------+
| username | password |
+------------------+------------------------------------+
| user@example.com | $1$60Dgu9vc$T7vaQfTKgxUpci0TTnsyO0 |
+------------------+------------------------------------+
Run Code Online (Sandbox Code Playgroud)
它是什么格式?如何改变它?
将$1$
在密码字段开头暗示它是一个MD5哈希值。
要加密 MD5 哈希中的密码,您可以使用该openssl passwd
命令。
来自man openssl:
passwd 生成散列密码。
来自openssl passwd --help
:
-1 基于 MD5 的密码算法
-stdin 从标准输入读取密码
所以要生成 MD5 哈希,一个简短的 bash 示例:
#/bin/bash
PASSWORD="test123"
MD5=`echo $PASSWORD | openssl passwd -1 -stdin`
Run Code Online (Sandbox Code Playgroud)
运行它,您将获得预期的加密密码作为输出:
$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/
Run Code Online (Sandbox Code Playgroud)
因此,要将 MySQL 数据库中的密码更改为“test123”,请在 MySQL 提示符下执行以下操作:
USE postfix
UPDATE mailbox SET password="$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/" WHERE username="user@example.com";
更改立即生效,用户会在下次访问邮箱时注意到更改。
归档时间: |
|
查看次数: |
11753 次 |
最近记录: |