Chinaunix

标题: 关于smtp认证的错误日志,大家给看看是什么问题? [打印本页]

作者: dysow    时间: 2006-04-27 23:14
标题: 关于smtp认证的错误日志,大家给看看是什么问题?
在客户端用oe法送邮件,产生如下错误日志:

Apr 27 23:07:13 localhost postfix/smtpd[2481]: connect from unknown[61.49.136.53]
Apr 27 23:07:13 localhost postfix/smtpd[2481]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Apr 27 23:07:13 localhost postfix/smtpd[2481]: warning: unknown[61.49.136.53]: SASL LOGIN authentication failed
Apr 27 23:07:13 localhost postfix/smtpd[2481]: lost connection after AUTH from unknown[61.49.136.53]
Apr 27 23:07:13 localhost postfix/smtpd[2481]: disconnect from unknown[61.49.136.53]
作者: scyzxp    时间: 2006-04-27 23:40
smtpd.conf文件没有
作者: dysow    时间: 2006-04-28 00:04
参考了网上的一些资料作了如下操作,不过还是不行:

[root@test root]# vi /etc/rc.d/rc.local
# 在這個檔案當中最底下新增一行:
/usr/sbin/pwcheck
# 並且立刻執行這個 daemon 喔:
[root@test root]# /usr/sbin/pwcheck


[root@test root]# cd /usr/lib/sasl
[root@test sasl]# echo 'pwcheck_method: pwcheck'  >  smtpd.conf

# 上面這樣做完之後,系統就知道了:
1. postfix 要用 SMTP 認證時會去讀取 /usr/lib/sasl/smtpd.conf 並且知道
  是以 pwcheck 這支程式進行身份認證的動作;
2. 而 pwcheck 這支程式會主動去讀取 /etc/shadow ,裡面的密碼做認證


我执行:/usr/sbin/pwcheck,不过系统里面没有这个?
作者: scyzxp    时间: 2006-04-28 00:16
解决了吗?没有吧
作者: dysow    时间: 2006-04-28 00:24
原帖由 scyzxp 于 2006-4-28 00:16 发表
解决了吗?没有吧


没有解决,望赐教!
作者: dysow    时间: 2006-04-28 00:26
我后来又按照这个设置:

3. 準備建立 Postfix 與 cyrus SASL 使用的簡易設定檔:
[root@test lib]# cd /usr/lib/sasl2
[root@test sasl2]# echo 'pwcheck_method: saslauthd' > smtpd.conf  
[root@test sasl2]# echo 'mech_list:plain login'  >>  smtpd.conf  
# 注意了!一般來說, Postfix 會使用 SASL 這個函式庫裡面相關的設定檔,
# /usr/lib/sasl2/smtpd.conf 這個檔案的設定就是 Postfix 的預設使用 SASL 的
# 參數檔案,與 1.5.xx 版本不太相同的地方是, 2.xx 版本使用不同的機制:
auxprop :使用 sasldb2 這個共享資料庫,同樣需要使用共享密碼檔案喔!
     所以一般來說,單純的 Postfix 比較少使用這種機制;
saslauthd:使用 saslauthd 這個 daemon 進行認證的工作,所以幾乎
     不需要其他的設定值哪,指定 saslauthd 就好啦! ^_^
pwcheck :使用與 1.5 版相似的認證 daemon ,不過在 2.xx 版本裡面這個模式
     支援度比較沒有這麼好的啦,所以請愛用 saslauthd 囉!
# 我們使用 SASL 預設的 saslauthd 這支程式做為密碼認證的 daemon。
# 至於 mech_list:plain login 是列出支援的認證機制的意思,我們使用的
# 是極為簡單的 login 與 plain 兩種機制而已!

4. 建立一些需要的參數:
[root@test sasl2]# vi /etc/man.config
# 新增底下這一行之後,未來我們就可以透過 man 這個工具來查詢 sasl  
# 相關的指令的用法了!而不需要修改任何咚咚!不過要注意的是,
# 這個檔案在每個 Linux distributions 當中不見得相同,例如 Open Linux  
# 檔名是 /etc/man.conf 呢!
MANPATH /usr/local/cyrus-sasl2/man

5. 檢驗 saslauthd 這支程式是否可行!
# 在 cyrus-sasl 的原始碼裡面提供了一支小程式用來判斷 saslauthd 的認證機制
# 是否成功的啟動了,這個小程式就是 testsaslauthd 囉!在剛剛原始碼目錄下,
# 所以你可以這樣做:
[root@test sasl2]# /usr/local/cyrus-sasl2/sbin/saslauthd -a shadow
# 執行之後, saslauthd 的 PID 會被紀錄到 /var/run/mux.pid 這個檔案!
[root@test sasl2]# cd /usr/local/src/cyrus-sasl-2.1.12/saslauthd/
[root@test saslauthd]# make testsaslauthd
[root@test saslauthd]# ./testsaslauthd -u userID -p 'yours.passwd'
0: OK "Success."
# 若顯示 OK 的話!那麼就是成功啦!很好!我喜歡~

6. 設定開機時啟動
[root @test saslauthd]# vi /etc/rc.d/rc.local
# 加入這一行:
/usr/local/cyrus-sasl2/sbin/saslauthd -a shadow


还是不行




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2