コンフィグファイルの内容です。
使い道があるかどうか……。
clams.confの中身です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
% grep -v '^\s*#' /opt/local/etc/clamd.conf | grep -v '^\s*$' |grep -v '^Exclud' LogFile /opt/local/var/log/clamav/clamd.log LogFileMaxSize 2M LogTime yes LogClean yes # 後日コメントアウト(つまりno)に変更予定(あくまで確認用です) LogVerbose yes # 後日コメントアウト(つまりno)に変更予定(あくまで確認用です) LogRotate yes ExtendedDetectionInfo yes PidFile /opt/local/var/run/clamav/clamd.pid TemporaryDirectory /var/tmp DatabaseDirectory /opt/local/share/clamav LocalSocket /opt/local/var/run/clamav/clamd.socket LocalSocketMode 666 # 動く様なら660で問題ないと思う。 MaxThreads 6 MaxDirectoryRecursion 30 FollowDirectorySymlinks yes User _clamav Foreground yes DetectPUA yes IncludePUA RAT IncludePUA Spy IncludePUA Server IncludePUA Script ScanPE yes DisableCertCheck yes ScanELF yes ScanOLE2 yes ScanPDF yes ScanMail yes ScanHTML yes ScanArchive yes |
色々弄って、amavisdと連携が取れなくて悩みに悩んで、Geminiさんと弄くり回しました。
これがその結果。
LocalSocketMode 666
は、660で良い気がする。
ScanXXXはデフォルトでyes(HTML以外)なので、コメントを外さなくてもスキャンする筈。
Foreground yes
は、コメント化すると二重にdaemondoが立ち上がって、pidを取り合っちゃう為の苦肉の策です。
clamd.socketは普通clamd.sockですよね。
何故こうしたのかは不明。
amavisd.confに大事なことが書いてありました。
# # uid such as clamav, add user clamav to the amavis group, and then add
# # AllowSupplementaryGroups to clamd.conf;
# # NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in
# # this entry; when running chrooted one may prefer a socket under $MYHOME.
clamd.confで見るところのデフォルトのUserはclamavです。
デフォルトだとclamdは実質動きません。(そんなuser居ないから)
MacPortsでのclamavは、_clamav:_clamavで動かします。
freshclam.confも
DatabaseDirectory /opt/local/share/clamav
とpathを合わせております。
因みに、/Library/LaunchDaemons/org.macports.freshclam.plistには、
|
1 2 |
<key>StartInterval</key> <integer>21600</integer> |
とありますが、6時間置きに実行しろという意味だそうです。
amavisd.confは一部、書き換えがあります。
|
1 2 3 4 5 6 7 8 9 |
$log_level = 3; # ログを見るのに1だと余りに情報が少ない為、3に。今後1に戻します。 $do_syslog = 0; # syslogに書き出さない。 $logfile = "/opt/local/var/log/amavisd/amavisd.log"; # logに直接書き出す。(syslogに渡すとリダイレクトしてくれなかった為) \&ask_daemon, ["SCAN {}\n", "/opt/local/var/run/clamav/clamd.socket"], # "SCAN {}\n" の前に "CONTSCAN {}\n"、"CONTSCAN {}/\n"と試していました。 # 今なら、 "CONTSCAN {}\n"で十分通りそうな気がします。 |
「ユーザー_clamavを_amavisグループに追加」してから、「clamd.confにAllowSupplementaryGroupsを追加」としたら、「AllowSupplementaryGroupsは現在使われていません。無かったことににします」みたいなこと言われたので削除しました。
|
1 |
sudo dseditgroup -o edit -a _clamav -t user _amavis |
で、_clamavが_amavisのグループに追加されるそうです。(逆じゃないの?と思うのだが、これで動いている)
ハマった所のうちの一つ。
/etc/dovecot/usersに
|
1 |
virusalert:{PLAIN}passwd:83:83::/var/tmp/virusmails:: |
の1行を『先に』書き込んでから、amavisdを通す様にしておくのが吉。
うん、これ重要。(悩んだものなぁ)
amavisd-newとClamAV絡みはこんなものかな。
ClamSMTPは、代わりにamavisd-newがやってくれているので不要だそうです。(もう消しちゃった)
最後に、Geminiさんにアドバイス貰いながらだと、結果が早く出ます。
一人でウジウジやっているより、時間の掛かるコンパイルでもGeminiさんとの会話を楽しみながらの時間は過ごし易かったですよ。
アドバイスがループしてしまったり、ついついのlinux前提での内容、bash使っての例文(tcsh使いだっての)も笑って訂正できる様になりました。


