- 论坛徽章:
- 0
|
postfix+sasl+pam+pam_mysql认证问题
数据表mailbox用来存放邮箱用户信息.
插入数据
INSERT INTO mailbox (USERNAME,PASSWORD,FORWARD,DOMAIN,MAIL)
VALUES ('test@abc.com','$1$pi.WVgBx$a3dUCzBnbY76jnZlqWQCQ/',
'test','abc.com','test@abc.com');
PAM配置文件/etc/pam.d/smtp
auth sufficient pam_mysql.so user=mail passwd=secret \
host=localhost db=mail table=mailbox usercolumn=USERNAME passwdcolumn=PASSWORD \
crypt=1 sqllog=0
account required pam_mysql.so user=mail passwd=secret \
host=localhost db=mail table=mailbox usercolumn=USERNAME passwdcolumn=PASSWORD \
crypt=1 sqllog=0
SASL认证结果
Mar 20 16:20:31 mars saslauthd[26367]: pam_mysql: where clause =
Mar 20 16:20:31 mars saslauthd[26367]: SELECT password FROM mailbox WHERE username='test'
Mar 20 16:20:31 mars saslauthd[26367]: pam_mysql: select returned more than one result
Mar 20 16:20:31 mars saslauthd[26367]: returning 7 after db_checkpasswd.
Mar 20 16:20:31 mars saslauthd[26367]: do_auth : auth failure: [user=test] [service=smtp] [realm=abc.com] [mech=pam] [reason=PAM auth error]
根据以上配置。我的smtp认证不能通过。因为pam_mysql用来认证用户test@abc.com的时候只取@之前的部分。但是网上搜索的出来的文章都是可以认证成功的。
问:还需要其他的设置吗?
里面大部分设置参考了http://www.cngnu.org/technology/Postfix_I.html |
|