Alterando a senha da conta do usuário postfix diretamente no banco de dados MySQL

Alterando a senha da conta do usuário postfix diretamente no banco de dados MySQL

Preciso alterar a senha de uma caixa de correio de conta de usuário postfix diretamente em um banco de dados MySQL; no entanto, não tenho ideia do formato usado.

Aqui está a tabela:

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

Qual é o formato? Como mudar isso?

Responder1

O $1$início do campo de senha indica que é um hash MD5.

Para criptografar uma senha em um hash MD5, você pode usar o openssl passwdcomando.

Dehomem abressl:

passwd Geração de senhas com hash.

e de openssl passwd --help:

-1 Algoritmo de senha baseado em MD5
-stdin lê senhas de stdin

Então, para gerar o hash MD5, um pequeno exemplo de bash:

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

Ao executá-lo, você obteve como saída a senha criptografada pretendida:

$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/

Então, para alterar a senha no banco de dados MySQL para 'test123', você faz no prompt do MySQL:

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

A alteração entra em vigor imediatamente e o usuário notará a alteração no próximo acesso à caixa de correio.

informação relacionada