Postfix (SASL) / MySQL: использовать шифрование MD5?

Можно ли использовать шифрование паролей MD5 для шифрования паролей при использовании Postfix / SASL и MySQL? В настоящее время моя установка использует функцию MySQL CRYPT(), которая по разным причинам не идеальна.

1 ответ

Решение

Да, это возможно.

Я предполагаю, что вы используете libpam-mysql. Существует опция, которую вы можете установить с именем crypt.

auth       optional     pam_mysql.so user=username passwd=password verbose=0 db=thedb table=user usercolumn=userName  passwdcolumn=userPassword crypt=3
account       required     pam_mysql.so user=username passwd=password verbose=0 db=thedb table=user usercolumn=userName  passwdcolumn=userPassword crypt=3

Вы также можете использовать авторизацию требуется

Затем склеить ваши пароли с MD5 в MySQL.

Вы можете найти документ в файле readme и /usr/share/doc/libpam-mysql

Я цитирую часть:

склеп (обычный)

The method to encrypt the user's password:

   0 (or "plain") = No encryption.  Passwords stored in plaintext.
                    HIGHLY DISCOURAGED.

   1 (or "Y")     = Use crypt(3) function.

   2 (or "mysql") = Use MySQL PASSWORD() function. It is possible
                    that the encryption function used by PAM-MySQL
                    is different from that of the MySQL server, as
                    PAM-MySQL uses the function defined in MySQL's
                    C-client API instead of using PASSWORD() SQL
                    function in the query.

   3 (or "md5")   = Use plain hex MD5

В конфигурационном файле saslauthd в Debian вы должны установить,

MECHANISMS="pam"

Не знаю, как установить его в другом дистрибутиве, но процесс нужно начинать вот так.

/ usr / sbin / saslauthd -a pam

Но я думаю, у вас уже есть это.

Другие вопросы по тегам