freshclam でエラー

今朝、freshclamが正常に動いてなくエラーになってるメールが届いた。
/etc/cron.daily/freshclam:
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
ERROR: Can’t open /var/log/clamav/freshclam.log in append mode (check permissions!).
どうもパーミッションが悪いからエラーになってるようだ。
ログのオーナーを確認

[root@server1 ~]# ll /var/log/clamav
合計 200
-rw-r--r-- 1 clamav clamav  9824 10月  1 23:52 2012 clamd.log
-rw-r--r-- 1 clam   clam   26371  9月  9 08:24 2012 clamd.log-20120909
-rw-r--r-- 1 clam   clam   26769  9月 16 08:22 2012 clamd.log-20120916
-rw-r--r-- 1 clam   clam   26828  9月 23 08:38 2012 clamd.log-20120923
-rw-r--r-- 1 clam   clam   54325  9月 30 07:07 2012 clamd.log-20120930
-rw-r--r-- 1 clamav clamav     0  9月 30 07:07 2012 freshclam.log
-rw-r--r-- 1 clam   clam    4401  9月  9 08:24 2012 freshclam.log-20120909
-rw-r--r-- 1 clam   clam    4917  9月 16 08:22 2012 freshclam.log-20120916
-rw-r--r-- 1 clam   clam    5084  9月 23 08:38 2012 freshclam.log-20120923
-rw-r--r-- 1 clam   clam    4841  9月 30 07:07 2012 freshclam.log-20120930

古いものはオーナーが clam だが新しいものは clamav になっている。
オーナーの変更

[root@server1 ~]# chown clamav:clamav /var/log/clamav/clamd*
[root@server1 ~]# chown clamav:clamav /var/log/clamav/freshclam*

再確認

[root@server1 ~]# ll /var/log/clamav
合計 200
-rw-r--r-- 1 clamav clamav 10159 10月  2 00:22 2012 clamd.log
-rw-r--r-- 1 clamav clamav 26371  9月  9 08:24 2012 clamd.log-20120909
-rw-r--r-- 1 clamav clamav 26769  9月 16 08:22 2012 clamd.log-20120916
-rw-r--r-- 1 clamav clamav 26828  9月 23 08:38 2012 clamd.log-20120923
-rw-r--r-- 1 clamav clamav 54325  9月 30 07:07 2012 clamd.log-20120930
-rw-r--r-- 1 clamav clamav     0  9月 30 07:07 2012 freshclam.log
-rw-r--r-- 1 clamav clamav  4401  9月  9 08:24 2012 freshclam.log-20120909
-rw-r--r-- 1 clamav clamav  4917  9月 16 08:22 2012 freshclam.log-20120916
-rw-r--r-- 1 clamav clamav  5084  9月 23 08:38 2012 freshclam.log-20120923
-rw-r--r-- 1 clamav clamav  4841  9月 30 07:07 2012 freshclam.log-20120930

freshclam を使用して VirusDB をアップデート

[root@server1 ~]# freshclam
ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permissions!).
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

やはりエラーになり、アップデート出来ない。
/etc/freshclam.conf を確認。
DatabaseOwner が clam になってたので clamav に直す。

[root@server1 ~]# vi /etc/freshclam.conf
# By default when started freshclam drops privileges and switches to the
# "clamav" user. This directive allows you to change the database owner.
# Default: clamav (may depend on installation options)
DatabaseOwner clam
    ↓
DatabaseOwner clamav

/etc/logrotate.d/freshclam を確認。
ここは clamav だったが、clam になってたら clamav に直す。

[root@server1 ~]# vi /etc/logrotate.d/freshclam
/var/log/clamav/freshclam.log {
missingok
notifempty
create 644 clamav clamav ← clam になってたら  clamav に直す
}

再度 VirusDB をアップデート

[root@server1 ~]# freshclam
ERROR: Can't create temporary directory /var/lib/clamav/clamav-b130a8764a48d3f68ae52c545a0a9c06
Hint: The database directory must be writable for UID 502 or GID 502

テンポラリファル/var/lib/clamav/clamav-*を作れない。
データベースのディレクトリは UID 502 または GID 502 が書き込み可能である必要がある。
というエラーが出る。
UID 502 または GID 502 を書き込み可能に変更

[root@server1 ~]# chown 502:502 /var/lib/clamav
[root@server1 ~]# chmod 755 /var/lib/clamav
として VirusDB をアップデート
[root@server1 ~]# freshclam
ClamAV update process started at Tue Oct  2 00:34:26 2012
main.cvd is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven)
nonblock_connect: connect timing out (30 secs)
Can't connect to port 80 of host db.jp.clamav.net (IP: 219.106.242.51)
Trying host db.jp.clamav.net (120.29.176.126)...
ERROR: Can't open /var/lib/clamav/mirrors.dat for writing
Downloading daily-15418.cdiff [100%]
ERROR: Can't open /var/lib/clamav/mirrors.dat for writing
ERROR: Can't open /var/lib/clamav/mirrors.dat for writing
Downloading daily-15419.cdiff [100%]
ERROR: Can't open /var/lib/clamav/mirrors.dat for writing
ERROR: Can't open /var/lib/clamav/mirrors.dat for writing
Downloading daily-15420.cdiff [100%]
ERROR: Can't open /var/lib/clamav/mirrors.dat for writing
daily.cld updated (version: 15435, sigs: 275855, f-level: 63, builder: neo)
bytecode.cld is up to date (version: 190, sigs: 36, f-level: 63, builder: neo)
ERROR: Can't open /var/lib/clamav/mirrors.dat for writing
Database updated (1320278 signatures) from db.jp.clamav.net (IP: 203.178.137.175)

/var/lib/clamav/mirrors.dat もオーナーが違うようだ。
なので、/var/lib/clamav/mirrors.dat もオーナー変更して VirusDB をアップデート。

[root@server1 ~]# chown clamav:clamav /var/lib/clamav/mirrors.dat
[root@server1 ~]# freshclam
ClamAV update process started at Tue Oct  2 00:36:35 2012
main.cvd is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven)
nonblock_connect: connect timing out (30 secs)
Can't connect to port 80 of host db.jp.clamav.net (IP: 219.106.242.51)
Downloading daily-15433.cdiff [100%]
Downloading daily-15434.cdiff [100%]
Downloading daily-15435.cdiff [100%]
daily.cld updated (version: 15435, sigs: 275855, f-level: 63, builder: neo)
bytecode.cld is up to date (version: 190, sigs: 36, f-level: 63, builder: neo)
Database updated (1320278 signatures) from db.jp.clamav.net (IP: 203.178.137.175)

アップデート出来た。とりあえずこれで様子を見てみよう。