Postfix (SASL) / MySQL:使用 MD5 加密?

Postfix (SASL) / MySQL:使用 MD5 加密?

使用 Postfix / SASL 和 MySQL 时是否可以使用 MD5 密码加密来加密密码?目前,我的设置是使用 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

你也可以使用 auth required

然后在 mysql 中使用 MD5 加密密码。

您可以在自述文件和 /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

在 debian 中的 saslauthd 配置文件中,你必须设置,

MECHANISMS="pam"

不知道如何在另一个分布中设置它,但该过程必须像这样启动。

/usr/sbin/saslauthd -a pam

但我想你已经拥有它了。

相关内容