你好,我用sendmail
我是參考蔡由世神父的文章
http://www.savs.hcc.edu.tw/~chuavv/articles/ClamAV-tw.html
我用yum安裝 os centos5.4在atrpm下戴的
裡面有說一些clamav-milter的東西
像
service clamav-milter start
可是我好像沒有,好像和clamav綁在一起了
我只有 service clamav start
裡頭有說 在sendmail.mc加入這個
INPUT_MAIL_FILTER(clamav-milter',
S=local:/var/run/clamav/clamav-milter.sock,F=, T=S:4m;R:4m')dnl
define(ConfINPUT\_MAIL\_FILTERS',
clamav-milter')dnl
但我啟動clamav會出現找不到local:/var/run/clamav/clamav-milter.sock
所以我把它改成/var/run/clamav/clamd.socket
但也不行,
所以把它改成/var/run/clamav/clamd.pid
才能正常執行sendmial
不知這樣正不正確
因為clamav改版很大我上網找的文章很多設定都不太一樣
我也弄不清楚clamav-milter是什麼東西,可否了解的人詳加指導一下多謝了
您好,在您的原post有回過您...
因為已經很久不用sendmail,所以只能用推測的。那個mailter裡面提到的應該就是socket的作法。我不清楚atrpm包的clamav設定檔是如何,因為我們的clamav用的rpmforge是這個套件庫提供的。rpmforge的clamd會有一個/etc/clamd.conf檔,裡面會指定這個socket的位置。以我們的server為例:
LocalSocket /var/run/clamav/clamd.sock
看您要改clamd的socket位置還是要改那個milter的設定,兩者應該是要一致才行。
rpmforge的clamd會有一個/etc/clamd.conf檔,裡面會指定這個socket的位置。以我們的server為例:
LocalSocket /var/run/clamav/clamd.sock
您好我也有看到這個
但我有上面有說過我的作法
裡頭有說 在sendmail.mc加入這個
INPUT_MAIL_FILTER(clamav-milter',
S=local:/var/run/clamav/clamav-milter.sock,F=, T=S:4m;R:4m')dnl
define(ConfINPUT\_MAIL\_FILTERS',
clamav-milter')dnl
但我啟動clamav會出現找不到local:/var/run/clamav/clamav-milter.sock
所以我把它改成/var/run/clamav/clamd.socket
但也不行,
蔡神父說的這個檔
/var/run/clamav/clamav-milter.sock
我在var/run/clamav/
下面找不到clamav-milter.sock這個檔案
所以想說改成相近的名稱試試
/var/run/clamav/clamd.socket
但執行sendmail會有錯誤
看您要改clamd的socket位置還是要改那個milter的設定,兩者應該是要一致才行
其實我不懂clamd和miter和socket有何不同
我只知道clamd是clamav的執行檔,請指導一下,謝謝您了
下面這一道步驟做了嗎? 因為您上面沒寫到..
rpm -Uvh clamav-server-0.96.1-1.i686.rpm clamav-0.96.1-1.i686.rpm clamav-milter-0.96.1-1.i686.rpm
參考一下我的舊文分享: How to Install and configure Clamav-milter on Fedora 7
再看了一下自己的舊設定,有關clamav-milter要注意的:
這是我所裝與 clam 相關的套件:
<pre class="c" name="code">$ rpm -qa |grep clam
clamav-update-0.92.1-1.fc7
clamav-filesystem-0.92.1-1.fc7
clamav-lib-0.92.1-1.fc7
clamav-milter-0.92.1-1.fc7
clamav-milter-sysv-0.92.1-1.fc7
clamav-data-0.92.1-1.fc7
其實並沒裝到與 clamd 相關的套件,就能讓 clamav-milter 跑。
檢查一下 clamav-milter 套件裡的檔案分佈在何處?
<pre class="c" name="code">$ rpm -ql clamav-milter
/etc/clamd.d/milter.conf
/usr/sbin/clamav-milter
/usr/share/doc/clamav-milter-0.92.1
/usr/share/doc/clamav-milter-0.92.1/INSTALL
/usr/share/doc/clamav-milter-0.92.1/README.fedora
/usr/share/man/man8/clamav-milter.8.gz
/var/log/clamd.milter
/var/run/clamav-milter
/var/run/clamav-milter/clamav.sock
所以重要的是看 /etc/clamd.d/milter.conf 裡的 socket 設定,
才是 sendmail.mc 裡要指到的地方!
但是卻又不一定,
是因為要看:
<pre class="c" name="code">$ rpm -ql clamav-milter-sysv
/etc/rc.d/init.d/clamav-milter
/etc/sysconfig/clamav-milter
裡面的 socket 指到哪裡?
我的實例是 /etc/sysconfig/clamav-milter:
<pre class="c" name="code">CLAMAV_FLAGS=" --config-file=/etc/clamd.d/milter.conf \
--quiet \
--dont-wait \
--noreject \
--force-scan \
--max-children=25 \
--local \
--outgoing \
local:/var/run/clamav-milter/clamav.sock \
"
是在那最後一行定義 socket 執行在何處,
sendmail.mc 裡的設定才一定要與此一致!
3.以上是我舊的設定時的實際狀況,與蔡神父的環境稍有不同,
但基本上跟 clamd 有沒有開,甚至有沒有裝都沒有關係!
4.我也是利用 http://download.fedora.redhat.com/pub/fedora/linux/updates/testing/ 重新 Build rpm 才能有最新的 clamav 來安裝。
5.較新版本的環境沒裝過試過,但基本要注意的,就是那 sysconfig 裡的設定檔,才會是真正決定 milter 的 socket 所在。
您好感謝您的熱心,但您說的太深我看不懂
可否針對我的問題來做解答呢?
蔡神父說的這個檔
/var/run/clamav/clamav-milter.sock
我在var/run/clamav/
下面找不到clamav-milter.sock這個檔案
所以想說改成相近的名稱試試
/var/run/clamav/clamd.socket
但執行sendmail會有錯誤
我現在應該要怎麼做才好?
/var/run/clamav/clamav-milter.sock
是在 /etc/init.d/clamav-milter start 後才會出現的。
至於 /var/run/clamav/clamav-milter.sock 定義是在哪邊,
樓上的一些回覆是以為在 /etc/clamd.conf 的裡面,這並不正確。
依上述討論,應是在 /etc/sysconfig/clamav-milter
您需用 less /etc/sysconfig/clamav-milter 來看一下內容,
是不是有 local:/var/run/clamav-milter/clamav.sock 類似的字樣?
您也需要了解一下基本有關 rpm 的指令,
才好知道 您所裝的 rpm 套件,
都把檔案裝在什麼地方,再去看清楚設定。
雖然同樣是 clamav 的相關套件,
但各自做出的 rpm 的內容或所指到的設定檔會各有不同的情況。
rpm -qa |grep clam
是要查裝了哪些 clam 開頭的套件,
您最好貼出執行顯示的結果。
然後在 rpm -ql 各別套件名稱,
才能看出到底是哪一個套件是與 clamav-milter 有關,
並看其設定檔在何處?內容為何?
才容易真正解決問題。
def123452002提到:
/var/run/clamav/clamd.pid
這個檔案只是記錄啟動 clamd 時,該工作的 process id,
處理程序的流水編號是什麼,
通常是在 停止、重啟動時 /etc/init.d/clamd stop 時,
讀此檔案來結束該程序用的。