Postfix/SASLとMySQLを使用しているときに、MD5パスワード暗号化を使用してパスワードを暗号化することは可能ですか?現在、私のセットアップではMySQL CRYPT()関数を使用していますが、これはさまざまな理由で理想的ではありません。
はい、それは可能です。
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
必要な認証を使用することもできます
次に、mysqlでMD5を使用してyoutパスワードを暗号化します。
ドキュメントはreadmeund/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
しかし、私はあなたがすでにそれを持っていると思います。