Mysql
直接在 MySQL 數據庫中更改 postfix 使用者帳戶的密碼
我需要直接在 MySQL 數據庫中更改 postfix 使用者帳戶郵箱的密碼;但是我不知道使用的格式。
這是表格:
SELECT username,password FROM mailbox LIMIT 1; +------------------+------------------------------------+ | username | password | +------------------+------------------------------------+ | user@example.com | $1$60Dgu9vc$T7vaQfTKgxUpci0TTnsyO0 | +------------------+------------------------------------+
它是什麼格式?如何改變它?
$1$
密碼欄位開頭的 暗示它是一個 MD5 雜湊。要加密 MD5 雜湊中的密碼,您可以使用該
openssl passwd
命令。passwd 生成散列密碼。
並從
openssl passwd --help
:-1 基於 MD5 的密碼算法
-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="user@example.com";
更改立即生效,使用者在下次訪問郵箱時會注意到更改。