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
Но я думаю, у вас уже есть это.