LINUX.ORG.RU
решено ФорумAdmin

Как выполнить авторизацию MD5 паролей в Postfix+Mysql+Sasl


0

2

ОС - Debian

cat /etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: plain login
#mech_list: DIGEST-MD5 CRAM-MD5 PLAIN LOGIN
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: xxx
sql_user: xxx
sql_passwd: xxx
sql_database: xxx
sql_select: select xxx from xxx where email = '%u'
попробовал оба варианта mech_list

cat /etc/pam.d/smtp

auth    required        pam_mysql.so user=xxx passwd=xxx host=xxx db=xxx table=xxx usercolumn=xxx passwdcolumn=xxx crypt=1 md5=1
account sufficient      pam_mysql.so user=xxx passwd=xxx host=xxx db=xxx table=xxx usercolumn=xxx passwdcolumn=xxx crypt=1 md5=1

если пароли в encrypt('xxx') - все ок, как только md5('xxx') - вот такие ошибки в логах cat /var/log/mail.log

Jun 20 10:07:04 proxy imapd-ssl: Connection, ip=[::ffff:xx.xx.xx.xx]
Jun 20 10:07:05 proxy authdaemond: received auth request, service=imap, authtype=login
Jun 20 10:07:05 proxy authdaemond: authmysql: trying this module
Jun 20 10:07:05 proxy authdaemond: authmysqllib: connected. Versions: header 50149, client 50161, server 50161
Jun 20 10:07:05 proxy authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/var/mail", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", "", "" FROM users WHERE email = 'xxx@xxx.ru'
Jun 20 10:07:05 proxy authdaemond: supplied password 'xxx' does not match encrypted password '202cb962ac59075b964b07152d234b70'
Jun 20 10:07:05 proxy authdaemond: authmysql: REJECT - try next module
Jun 20 10:07:05 proxy authdaemond: FAIL, all modules rejected
Jun 20 10:07:05 proxy imapd-ssl: LOGIN FAILED, user=xxx@xxx.ru, ip=[::ffff:xx.xx.xx.xx]

★★★
Ответ на: комментарий от wolverin

и все равно не понятно как заставить работать с md5 хэшами???

cat authmysqlrc | grep -v ^#

MYSQL_SERVER            xxx
MYSQL_USERNAME          xxx
MYSQL_PASSWORD          xxx
MYSQL_PORT              0
MYSQL_OPT               0
MYSQL_DATABASE          xxx
MYSQL_USER_TABLE        xxx
MYSQL_CRYPT_PWFIELD     xxx
MYSQL_UID_FIELD         5000
MYSQL_GID_FIELD         5000
MYSQL_LOGIN_FIELD       xxx
MYSQL_HOME_FIELD        "xxx"
MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
MYSQL_QUOTA_FIELD       quota
wolverin ★★★
() автор топика
Ответ на: комментарий от wolverin

вообщем поставил dovecot и он нормально без костылей работает с md5 паролями в mysql, courier на помойку ((

wolverin ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.