Изменение пароля учетной записи пользователя postfix непосредственно в базе данных MySQL

Изменение пароля учетной записи пользователя postfix непосредственно в базе данных MySQL

Мне нужно изменить пароль почтового ящика учетной записи пользователя Postfix непосредственно в базе данных MySQL; однако я не имею представления об используемом формате.

Вот таблица:

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]";

Изменение вступит в силу немедленно, и пользователь заметит его при следующем доступе к почтовому ящику.

Связанный контент