[freshclam] ERROR: Can’t create temporary directory /var/clamav/* よ、さようなら」の巻

スポンサーリンク

こんなメールがrootに届くようになった。

Subject: Cron <root@vps1> run-parts /etc/cron.daily

/etc/cron.daily/freshclam:

ERROR: Can't create temporary directory /var/clamav/clamav-486034ac5c21467e5b94f12b313e026a

どうやらclamav-dbをyumでアップデートすると発動するのだが、発動する度に直すのではなくて今後発生しないように出来ないものか設定を試みる。実際に試したい場合は、/var/clamav/ディレクトリの所有者をrootにでも変更し、yum reinstall clamav-db とすれば検証出来る。検証を行うとfreshclamを実行する時にデーターベースの重複警告が表示されるので、メッセージにしたがってどちらか一方を削除or名前変更してください。

rootに送られてくるCronからのメールを読み解くと、/etc/cron.daily/freshclamを実行するときに/etc/freshclam.confで設定されているDatabaseOwnerが、/var/clamav/ディレクトリへの十分なアクセス権がないために発生しているエラー。なので、/var/clamav/の所有者をDatabaseOwnerと合せて設定もしくは必要なアクセス権を設定すれば解消される。しかし、clamav-dbがアップデートされる時に/var/clamav/ディレクトリの所有者がclamavになってしまうのだから、元から「clamav」を/var/clamav/をはじめログファイル等々の所有者にしてしまえば良いじゃないかと言う作戦。

・/etc/freshclam.confでのDatabaseOwnerを「clamav」に変更
・/etc/logrotate.d/freshclamでcreate時にclamav clamavを指定
・/var/log/clamav/配下の所有者をclamav:clamavに変更
・/var/clamav/配下の所有者をclamav:clamavに変更

以下ログ。設定を変更してからfreshclamを起動し、エラーメッセージに従い所有者の変更を行なった。

[root@vps1 ~]# vi /etc/freshclam.conf
[root@vps1 ~]# vi /etc/logrotate.d/freshclam
[root@vps1 ~]#
[root@vps1 ~]# freshclam
ERROR: Can't open /var/log/clamav/freshclam.log in append mode (check permission s!).
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.l og).
[root@vps1 ~]#
[root@vps1 ~]#
[root@vps1 ~]# ls -la /var/log/clamav/freshclam.log*
-rw-r--r-- 1 clam clam 1797 Mar 20 00:07 /var/log/clamav/freshclam.log
-rw-r--r-- 1 clam clam 873 Mar 18 00:00 /var/log/clamav/freshclam.log.1.gz
-rw-r--r-- 1 clam clam 931 Mar 11 00:00 /var/log/clamav/freshclam.log.2.gz
-rw-r--r-- 1 clam clam 835 Mar 4 00:00 /var/log/clamav/freshclam.log.3.gz
-rw-r--r-- 1 clam clam 842 Feb 26 00:00 /var/log/clamav/freshclam.log.4.gz
[root@vps1 ~]#
[root@vps1 ~]# id clamav
uid=100(clamav) gid=101(clamav) groups=101(clamav)
[root@vps1 ~]#
[root@vps1 ~]# chown -R 100:101 /var/log/clamav/
[root@vps1 ~]# freshclam
ERROR: Can't create temporary directory /var/clamav/clamav-5e05ebd33f5b8a784d62c 0267fbe5af5
Hint: The database directory must be writable for UID 100 or GID 101
[root@vps1 ~]#
[root@vps1 ~]# chown -R 100:101 /var/clamav/
[root@vps1 ~]# freshclam
ClamAV update process started at Tue Mar 20 00:10:26 2012
main.cld is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven)
daily.cld is up to date (version: 14664, sigs: 127987, f-level: 63, builder: gui tar)
bytecode.cld is up to date (version: 168, sigs: 38, f-level: 63, builder: edwin)
[root@vps1 ~]#

以上

コメント

タイトルとURLをコピーしました