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

3

Eu preciso alterar uma senha de uma caixa de correio de conta de usuário postfix diretamente em um banco de dados MySQL; no entanto, não faço 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?

    
por Rui F Ribeiro 26.05.2017 / 21:43

1 resposta

3

O campo $1$ no início da senha sugere que é um hash MD5.

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

De o homem se abre :

passwd Generation of hashed passwords.

e de openssl passwd --help :

-1 MD5-based password algorithm
-stdin read passwords from stdin

Então, para gerar o hash MD5, um breve exemplo:

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

Ao executá-lo, você obteve como resultado a senha criptografada pretendida:

$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/

Então, para mudar 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 entrará em vigor imediatamente e o usuário notará a alteração no próximo acesso à caixa postal.

    
por 26.05.2017 / 21:43

Tags