顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - dylanc

頁: [1]
1
Linux 討論版 / Re: 請教一下 MAILLOG 錯誤訊息
« 於: 2013-01-23 17:13 »
回覆 damon 前輩:

關掉的用意是在 http://wiki.mailscanner.info/doku.php?id=maq:index#spam-fighting_tools 中,這麼說到:

How do I get spamc/spamd to.....?

Stop right there. MailScanner does not use spamd, spamc, or the spamassassin script directly. It calls the installed perl modules directly. Any spamassassin-related configuration is done in /etc/MailScanner/spam.assassin.prefs.conf, and only certain options are recognized. See here.

因此小弟關掉並測試。

您所說的 " 先弄清楚是哪個process去呼叫spamd吧 "
小弟記得在 MailScanner.conf 有設定到 use spamassassin = yes
您所指的應該是這邊嗎?

關掉 spamd 之後,小弟有家 yes 改為 no,但是還是一樣出現:

spamc[1611]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused
spamc[1615]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused
spamc[1618]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused

的狀態,因此小弟才又再開啟的。

上述的設定哪邊有錯誤的地方,是否能請 damon 前輩直接指導一下該從哪個設定著手呢?
例如,怎麼分辨是哪個process去呼叫spamd?
然後相關的設定在哪邊呢?

謝謝 damon 前輩。

2
回覆前輩:

哈,心急之下出了錯,感謝前輩的提醒^^"

話說,不知前輩是否有可以解決繁體規則的方法呢..^^"

3
各位前輩好:

小弟目前利用 spamssassin3.X 來防堵垃圾郵件,但是利用關鍵字來過濾垃圾郵件這部分,針對簡體中文的規則設定後,能成功的過濾,小弟的方法為:

1.在PC端用記事本建立 CN.cf
2.CN.cf 的內容如下:
----------
header   CN_SUBJECT_1   Subject =~ /性爱/
describe   CN_SUBJECT_1   
score   CN_SUBJECT_1   20

header   CN_SUBJECT_2   Subject =~ /监护工/
describe   CN_SUBJECT_2
score   CN_SUBJECT_2   20
--------------
(PS..上述的"性爱"、"监护工" ....等等關鍵字,皆為簡體中文。)

3.將檔案存成 Unicode 編碼的文件後,再利用中文內碼軟換器 ( ConvertZ ) 轉成 gbk 的 CN.cf
4.再將 CN.cf 上傳至 mail server 中,/etc/mail/spamassassin/ 的資料夾中 ( 與 local.cf 同一個目錄 )
5./etc/rc.d/init.d/MailScanner reload 、 /etc/rc.d/init.d/spamassassin restart 之後,由 www.google.com.cn 發一封主旨含 "监护工" 的郵件進行測試時,MAIL SERVER 能成功的過濾掉此封郵件。

但是上述的部分是簡體中文的規則過濾,那麼繁體中文的,該怎麼設定呢?怎麼測試都不成功哩!懇請各位前輩協助指導一下,感謝了!

4
Linux 討論版 / Re: 請教一下 MAILLOG 錯誤訊息
« 於: 2013-01-23 15:38 »
回覆 twu2 前輩:

小弟把 spamd 關閉 (/etc/rc.d/init.d/spamassassin stop) 後,這兩天發現出現很多類似下列的錯誤訊息:

spamc[1611]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused
spamc[1615]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused
spamc[1618]: connect to spamd on 127.0.0.1 failed, retrying (#1 of 3): Connection refused

然後,有些 USER 就收不到信件了。

於是,還是把 spamd 開啟 ( /etc/rc.d/init.d/spamassassin start ),上述的錯誤訊息就不再出現了。可是 bayes_journal 會被 USER 覆寫權限的問題還是存在;想了想,把 /var/spool/MailScanner/spamassassin/ 中的資料清空。然後再一次:sa-update -D --nogpg

結束後,再次測試寄送郵件 & 觀察。

發現,系統再次自動建立了:

-rw-rw-rw- 1 postfix postfix     6  1月 23 15:30 bayes.mutex
-rw-rw-rw- 1 postfix postfix 12288  1月 23 15:30 bayes_seen
-rw-rw-rw- 1 postfix postfix 81920  1月 23 15:30 bayes_toks

然後觀察了一天,權限也沒也再跑掉哩!目前大致上是如此。

5
Linux 討論版 / Re: 請教一下 MAILLOG 錯誤訊息
« 於: 2013-01-21 13:24 »
回覆 twu2 前輩:

因為安裝整個套件事參考了網路上很多文章所設定的,可是您說的 "用本身的 spamassassin 模組來處理" 印像中沒有去設定到這個部份耶。因此一直以來都是透過 spamd 來跑,請問該從哪邊著手設定呢?

您說到:看起來是 mailscanner 跑的是 postfix 這一個使用者, 而執行到 spamd 時, 會切到收件者的那一個使用者, 自然權限會不對.改成 777 並不是一個好的方法.

您說對了耶!因為小弟發現,出現:
mail2 spamd[15322]: bayes: cannot write to /var/spool/MailScanner/spamassassin/bayes_journal, bayes db update ignored: æ<8b><92>çµ<95>ä¸<8d>符æ¬<8a>é<99><90>ç<9a><84>æ8d>ä½<9c>
的錯誤訊息時,bayes_journal的權限都會變成收件者的那一個使用者,因為真的GOOGLE了很久,不知道該如何下手,最後才試著在 crontab 中設定:

*/1 * * * * chmod 777 /var/spool/MailScanner/spamassassin/bayes_journal
*/1 * * * * chown nobody:nobody /var/spool/MailScanner/spamassassin/bayes_journal
*/1 * * * * chmod 777 /var/spool/MailScanner/spamassassin/bayes_toks
*/1 * * * * chown postfix:postfix /var/spool/MailScanner/spamassassin/bayes_toks

小弟之到這方法治標不治本,可是真的苦於找不到下手處理的方法,才這麼做,請問 twu2 前輩能否指點一下,正確的設定法呢?
感激不盡!

6
Linux 討論版 / Re: 請教一下 MAILLOG 錯誤訊息
« 於: 2013-01-17 12:46 »
後來解決了,直接把權限改為:

-rwxrwxrwx 1 postfix postfix   17544  1月 17 12:40 bayes_journal

再次寄送信件測試時,就沒有再發生:

bayes: cannot write to /var/spool/MailScanner/spamassassin/bayes_journal, bayes db update ignored:

的錯誤訊息了。

7
Linux 討論版 / Re: 請教一下 MAILLOG 錯誤訊息
« 於: 2013-01-17 09:44 »
回 Acoju 兄:

因為這是在公司裡正式上線運作中的server,唯一的做法只能先把 Mailserver 砍掉再重來一次嗎..@@"
還是還有別的出路呢@@?

8
Linux 討論版 / Re: 請教一下 MAILLOG 錯誤訊息
« 於: 2013-01-16 16:54 »
改了一下設定後,再寄行寄送測試,錯誤的訊息變了

mail2 spamd[15322]: bayes: cannot write to /var/spool/MailScanner/spamassassin/bayes_journal, bayes db update ignored: æ<8b><92>çµ<95>ä¸<8d>符æ¬<8a>é<99><90>ç<9a><84>æ8d>ä½<9c>

的訊息。反覆修改了權限、以及設定,但是依然不停的出現,請教各位前輩,小弟該再由甚麼方向去思考呢?

-------------------------------

Jan 16 16:40:16 mail2 postfix/smtpd[15344]: connect from mail-pa0-f41.google.com[209.85.220.41]
Jan 16 16:40:18 mail2 postfix/smtpd[15344]: 45318118049: client=mail-pa0-f41.google.com[209.85.220.41]
Jan 16 16:40:18 mail2 postfix/cleanup[15348]: 45318118049: hold: header Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41])??by XXX.XXX.tw (Postfix) with ESMTP id 45318118049??for <ken@XXX.XXX.tw>; Wed, 16 Jan 2013 16:40:17 + from mail-pa0-f41.google.com[209.85.220.41]; from=<super9893@gmail.com> to=<ken@XXX.XXX.tw> proto=ESMTP helo=<mail-pa0-f41.google.com>
Jan 16 16:40:18 mail2 postfix/cleanup[15348]: 45318118049: message-id=<CA+ZMaaKd+BxfUxqvXUbvp5fXe0Z7nhdcL-x-k8CO=O6NZvztDg@mail.gmail.com>
Jan 16 16:40:18 mail2 MailScanner[14821]: New Batch: Scanning 1 messages, 2328 bytes
Jan 16 16:40:19 mail2 MailScanner[14821]: Virus and Content Scanning: Starting
Jan 16 16:40:19 mail2 postfix/smtpd[15344]: disconnect from mail-pa0-f41.google.com[209.85.220.41]
Jan 16 16:40:24 mail2 MailScanner[14821]: Requeue: 45318118049.A9D5E to 094C411804A
Jan 16 16:40:24 mail2 MailScanner[14821]: Uninfected: Delivered 1 messages
Jan 16 16:40:24 mail2 postfix/qmgr[14788]: 094C411804A: from=<super9893@gmail.com>, size=2159, nrcpt=1 (queue active)
Jan 16 16:40:24 mail2 spamd[15322]: spamd: connection from mail2 [127.0.0.1] at port 55621
Jan 16 16:40:24 mail2 spamd[15322]: spamd: setuid to ken succeeded
Jan 16 16:40:24 mail2 spamd[15322]: spamd: processing message <CA+ZMaaKd+BxfUxqvXUbvp5fXe0Z7nhdcL-x-k8CO=O6NZvztDg@mail.gmail.com> for ken:640
Jan 16 16:40:24 mail2 spamd[15322]: bayes: cannot write to /var/spool/MailScanner/spamassassin/bayes_journal, bayes db update ignored: æ<8b><92>çµ<95>ä¸<8d>符æ¬<8a>é<99><90>ç<9a><84>æ8d>ä½<9c>
Jan 16 16:40:25 mail2 MailScanner[14821]: Deleted 1 messages from processing-database
Jan 16 16:40:30 mail2 spamd[15322]: bayes: cannot write to /var/spool/MailScanner/spamassassin/bayes_journal, bayes db update ignored: æ<8b><92>çµ<95>ä¸<8d>符æ¬<8a>é<99><90>ç<9a><84>æ8d>ä½<9c>
Jan 16 16:40:30 mail2 dovecot: POP3(danielle): Disconnected: Logged out top=0/0, retr=0/0, del=0/47, size=34276764
Jan 16 16:40:30 mail2 spamd[15322]: spamd: clean message (-1.9/15.0) for ken:640 in 5.5 seconds, 2270 bytes.
Jan 16 16:40:30 mail2 spamd[15322]: spamd: result: . -1 - BAYES_00,FREEMAIL_FROM,HTML_MESSAGE,T_DKIM_INVALID scantime=5.5,size=2270,user=ken,uid=640,required_score=15.0,rhost=mail2,raddr=127.0.0.1,rport=55621,mid=<CA+ZMaaKd+BxfUxqvXUbvp5fXe0Z7nhdcL-x-k8CO=O6NZvztDg@mail.gmail.com>,bayes=0.000000,autolearn=ham
Jan 16 16:40:30 mail2 postfix/local[15353]: 094C411804A: to=<ken@XXX.XXX.tw>, relay=local, delay=13, delays=7.8/0/0/5.6, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail)
Jan 16 16:40:30 mail2 postfix/qmgr[14788]: 094C411804A: removed

錯誤訊息變成:
mail2 spamd[15322]: bayes: cannot write to /var/spool/MailScanner/spamassassin/bayes_journal, bayes db update ignored: æ<8b><92>çµ<95>ä¸<8d>符æ¬<8a>é<99><90>ç<9a><84>æ8d>ä½<9c>

請問,再來改曹哪個方向去思考呢...冏rz

9
Linux 討論版 / 請教一下 MAILLOG 錯誤訊息
« 於: 2013-01-16 14:09 »
各位前輩好,小弟使用 CENTOS5.8+POSTFIX+MAILSCANNER+SPAMASSASSIN 架設 MAIL SERVER,在測試使用關鍵字過濾垃圾信件時,發現maillog一直出現:

spamd[2441]: plugin: eval failed: bayes: (in learn) locker: safe_lock: cannot create lockfile /etc/MailScanner/bayes/bayes.mutex: æ²<92>æ<9c><89>æ­¤ä¸<80>æª<94<88><96>ç<9b>®é<8c><84>

的訊息,可是確認了一下,在小弟的設定中,bayes_path 的設定明明是 /var/spool/MailScanner/spamassassin/bayes,怎麼會一直往 /etc/MailScanner/bayes/bayes.mutex 去尋找呢?解了兩天還是解不出來,請各位前輩幫個忙好嗎!


10
後來找到答案了,

設定前,先把修改前的 filename.rules.conf 以及 filetype.rules.conf 內容全部置換回來。
接著,修改 vi /etc/MailScanner/MailScanner.conf

   
代碼: [選擇]
   Maximum Archive Depth = 0 (將此設定改為0就可以)
   Allow Password-Protected Archives = yes(放行有加密的壓縮檔案。)

然後重新啟動,測試,發現 ZIP 正常放行,但 TXT 檔案被擋掉!
修改 filename.rules.conf
將 deny   executable      No executables          No programs allowed 這一行註解掉!

再次重新啟動,測試,附件夾帶 ZIP 與 TXT 檔案,皆正常放行!

參考文章:
MailScanner阻擋加密的壓縮檔處理方式
MailScanner 設定 for Postfix 筆記(未完)

11
改完conf有restart Mailscanner service嗎?

回覆前輩:
有!每回改完都會 service MailScanner restart!

12
是這樣的,小弟新安裝了一台MAIL SERVER,內容如下:

CentOS5.8+Postfix+Dovecot+Mailscanner+spamassassin

這兩天一直在調整Mailscanner,因為寄送MAIL時,附件的zip與txt一直備擋掉。
調整到最後,我已經把spamassassin 給 STOP、 filename.rules.conf 以及 filetype.rules.conf 內容全部 ALLOW 了,還是會擋。

被擋的情形是:A寄了一封有TXT檔案和ZIP檔案的MAIL給B,B收到的郵件,附件的zip與txt不見了,附件取帶的是一個WARNING的TXT檔案。
內容為:

****************************************************************************************
This is a message from the MailScanner E-Mail Virus Protection Service
----------------------------------------------------------------------
The original e-mail attachment "ABC.ZIP"
is on the list of unacceptable attachments for this site and has been
replaced by this warning message.

If you wish to receive a copy of the original attachment, please
e-mail helpdesk and include the whole of this message
in your request. Alternatively, you can call them, with
the contents of this message to hand when you call.

At Tue Dec 18 11:46:13 2012 the virus scanner said:
   MailScanner: No programs allowed (Note.Txt)

Note to Help Desk: Look on the yoursite (mail) MailScanner in /var/spool/MailScanner/quarantine/20121218 (message 308AE118044.A080A).
--
Postmaster
Your Organisation Name Here
www.your-organisation.com

For all your IT requirements visit: http://www.transtec.co.uk
****************************************************************************************

把" MailScanner: No programs allowed",經過GOOGLE查詢,將filetype.rules.conf設定改掉重啟動後,還是會發生擋信。
最後把filename.rules.conf 以及 filetype.rules.conf 內容全部 ALLOW 了,還是會擋。
不知道有沒有朋友遇到此情況的...冏rz..

13
抱歉,抱歉,真的是新手呀!

小弟已經了解問題何在了,感謝各位前輩 :P

14
回覆darkranger兄

難道,是我會錯意了...冏rz..

哈,不過沒關係啦,反正都由C開始了,就繼續努力吧~XD

因為我在讀BCB6的書時,發現有很多書上沒提到,但應該要代入的敘述,
例如:變數宣告(就是在本篇問題中的變數宣告),這些基本的我都不懂。

因此,就不小心把您的意思搞錯了~ :P

15
回覆twu2兄:

小弟好像造成誤會了 :P

小弟是在網路上的教學文章學習C
教學文章為下方連結
http://caterpillar.onlyfun.net/Gossip/CGossip/PrintfScanf.html

小弟的意思是說,教學文章有提到:

代碼: [選擇]
標準輸出可以被重新導向至一個檔案,您可以在執行程式時使用" >>"將輸出結果導向至指定的檔案,例如(假設編譯後的可執行檔為main):
main >> result.txt

這樣的一段文字,所以在練習的時候,小弟就試著將

代碼: [選擇]
main >> result.txt
代入,完整的程式如下:

代碼: [選擇]
#include <stdio.h>

int main(void) {
int count = printf("This is a book\n");
printf("%d",count);

printf >> printf.txt;
return 0;
}

結果就產生了訊息為

代碼: [選擇]
[Error] request for member 'txt' in something not a structure or union
的錯誤!

在網路的教學文章中,並沒有

代碼: [選擇]
#include <stdio.h>

int main(void) {
int count = printf("This is a book\n");
printf("%d",count);

printf >> printf.txt;
return 0;
}

程式敘述,只有簡單的提到:

代碼: [選擇]
標準輸出可以被重新導向至一個檔案,您可以在執行程式時使用" >>"將輸出結果導向至指定的檔案,例如(假設編譯後的可執行檔為main):
main >> result.txt

所以小弟才會想說是不是可以這樣代入!千萬別誤會呀...冏rz

16
各位前輩好:

小弟於網路資料自修C,遇到個關於輸出結果導向的問題想請教一下!

http://caterpillar.onlyfun.net/Gossip/CGossip/PrintfScanf.html中提到:

標準輸出可以被重新導向至一個檔案,您可以在執行程式時使用" >>"將輸出結果導向至指定的檔案,例如(假設編譯後的可執行檔為main):
main >> result.txt

但是當小弟練習時,編譯的過程中卻一直出現ERROR,程式敘述如下:


代碼: [選擇]
#include <stdio.h>

int main(void) {
int count = printf("This is a book\n");
printf("%d",count);

printf >> printf.txt;
return 0;
}

錯誤的訊息為:
[Error] request for member 'txt' in something not a structure or union

請位各位前輩,該怎麼改正,才是正確的呢?

以上,先謝過各位前輩了! :)

17
感謝darkranger兄的回覆 :D

小弟真的對於C++完全不懂(C也一樣),所以不知道兩者的差別哩。
但是看完您的解釋,知道學習的步驟錯了!

因此現在已經回頭,由C開始學起,真的感謝您! :D

18
各位前輩好:

小弟是目前剛開始接觸C++的新手。目前學習的是Borland C++ Builder6的版本。學習用的參考書為2002年發行的【Borland C++ Builder6 程式設計經典】。
目前正在練習書中的練習題,要撰寫一個找零錢系統。

如附圖:

程式的結構如下:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TChangeCash *ChangeCash;
//---------------------------------------------------------------------------
__fastcall TChangeCash::TChangeCash(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TChangeCash::FormActivate(TObject *Sender)
{
 edtName->Text="可樂"; //開啟表單後,先設定名稱
 edtPrice->Text="25";
 edtNum->SetFocus(); //將插入點由標一到數量欄中
}
//---------------------------------------------------------------------------
void __fastcall TChangeCash::edtNumChange(TObject *Sender)
{
 if(edtNum->Text=="")  //避免輸入空字串產生錯誤!
   {edtMoney->Text="";
    return;
   }
 edtMoney->Text=IntToStr(StrToInt(edtPrice->Text)*StrToInt(edtNum->Text));
}
//---------------------------------------------------------------------------
void __fastcall TChangeCash::edtCashChange(TObject *Sender)
{
 if(edtCash->Text=="")  //避免輸入空字串產生錯誤!
   {edtCash->Text="";
    return;
   }
 edtChange->Text=IntToStr(StrToInt(edtCash->Text)-StrToInt(edtMoney->Text));
}
//---------------------------------------------------------------------------

想請問各位前輩,如果多增加一個功能,

例如:換算完要找的零錢為841,那就要於下方計算出500的一張、100的3張、10元4枚、5元0枚、1元1枚。

這樣的功能,使用change事件該怎麼寫呢?

先謝過各位前輩了!

19
<1.> mysql> create database user;
<2.>grant all privileges on user.* to user@localhost
identified by 'user's password' ;
<3.>show databases;

+-----------+
| Database |
+-----------+
| usr          |   <==看見沒?多一個這個資料庫!
| mysql      |   <==用來記錄 MySQL 的帳號、主機等等重要資訊的主資料庫!
| test         |  
+----------+
3 rows in set (0.00 sec)

<4.>exit

頁: [1]