+ -
当前位置:首页 → 问答吧 → postfix怎麼連ldap作smtp認證

postfix怎麼連ldap作smtp認證

时间:2010-02-11

来源:互联网

现有一台mail server(notes)有装ldap,outlook可以直接连ldap 的网址,如test.com.tw

,不需要认证就可以取得通讯录的资料,目前想架一台linux 的smtp server,user发信时

smtp server去连ldap的帐号资料作认证,现在已经将linux 装上postfix、ldap、pam等套

件,并作好相关设定,但使用outlook寄信时认证仍有问题,查看/var/log/message时出

现以下错误

Feb 11 18:29:25 ntop saslauthd[30792]: pam_ldap: could not open secret file /etc/ldap.secret (No such file or directory)
Feb 11 18:29:25 ntop saslauthd[30792]: pam_ldap: ldap_search_s No such object
Feb 11 18:29:26 ntop saslauthd[30792]: pam_ldap: ldap_search_s No such object
Feb 11 18:29:28 ntop saslauthd[30792]: do_auth         : auth failure: [user=taylor] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]

有可能是/etc/ldap.conf里binddn设定有问题吗,因为实际上不是太清楚mail那台ldap的树状结构

,另外我没办法使用ldapsearch这个指令去作测试,是有什么套件没装吗,请各位协助,谢谢

作者: huckly   发布时间: 2010-02-11

引用自: nomoty 於 2010-02-11 18:49
有可能是/etc/ldap.conf里binddn设定有问题吗,因为实际上不是太清楚mail那台ldap的树状结构
随便用一个工具程式连上去就会看到树状结构了........ 难道你没连上去做管理?


引用自: nomoty 於 2010-02-11 18:49
,另外我没办法使用ldapsearch这个指令去作测试,是有什么套件没装吗,请各位协助,谢谢
一般Redhat系的OS都会内建 openldap-client ,你试试看吧!


作者: nomoty   发布时间: 2010-02-12

引用自: nomoty 於 2010-02-11 18:49
有可能是/etc/ldap.conf里binddn设定有问题吗,因为实际上不是太清楚mail那台ldap的树状结构
引用自: 日京三子 於 2010-02-12 09:09
随便用一个工具程式连上去就会看到树状结构了........ 难道你没连上去做管理?

因为无mail server 的管理权限,所以无法管理,有去抓工具程式可以看到mail server 的ldap树状结构,
但根目录满多CN的,不过点下去出现LDAP error:没有这种物件,其中只有一个树状目录是正确的,可正常展开

--mail.test.com.tw
|--CN
|--CN
|--O=公司名称(test)
   |--OU=部门名称(IT)
     |--CN=帐号名称

引用自: nomoty 於 2010-02-11 18:49
,另外我没办法使用ldapsearch这个指令去作测试,是有什么套件没装吗,请各位协助,谢谢
引用自: 日京三子 於 2010-02-12 09:09
一般Redhat系的OS都会内建 openldap-client ,你试试看吧!

装了ldap-client,不过ldapsearch -h test.com.tw,出现下面的错误讯息
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)

 ldapsearch -x -b "dc=test.com.tw"
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

vi /var/log/maillog
Feb 12 14:18:57 ntop postfix/pickup[3281]: nss_ldap: failed to bind to LDAP server ldap://192.168.1.32: Can't contact LDAP server

好像完全都连不上mail 的ldap,但又不知道是哪出了问题


作者: 日京三子   发布时间: 2010-02-12

之后将/etc/ldap.conf的base改成base o=test则可认证,但目前想将MTA改回

sendmail,参考http://redhat.ecenter.idv.tw/bbs/showthread.php?threadid=57068

的做法,改了几个sendmail的设定,如下

1.修改 "/etc/mail/sendmail.mc" ,将文件内容中以下两行文字之前的 "dnl" 删除掉。
 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
  define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

2. /etc/mail/sendmail.cf
  O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
  O LDAPDefaultSpec=-h 192.168.1.35 -b dc=mail,dc=test,dc=com,dc=tw -d o=test

  telnet localhost 25有出现250-AUTH LOGIN PLAIN" 的文字但smtp认证仍有问题,

相关log的讯息
  /var/log/message

  Feb 25 18:32:50 ntop saslauthd[7279]: do_auth         : auth failure:   
  [user=nomo] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]

  /var/log/maillog

   Feb 25 18:51:14 ntop sendmail[8449]: o1PAp3cT008449: [192.168.1.117] did
  not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

  将MTA切换回postfix smtp认证正常,但切回sendmail则不行,outlook会一直出现输入
  密码无法寄信,不知是哪里出了问题

作者: nomoty   发布时间: 2010-02-25