为了安全起见,需要为Clam AntiVirus建立自己的执行账号及家目录,请执行如下指令:
#/usr/sbin/useradd -s /bin/false -d /var/run/clamav clamav
接着解压Clam AntiVirus,直接安装它:
#./configure
#make
#make install
这样就把Clam AntiVirus安装完毕。
Clam AntiVirus的两个重要的配置文件clamd.conf与freshclam.conf,它们存放在/usr/local/etc里面。
clamd.conf里面存放着Clam AntiVirus的运行时的参数与变量。
freshclam.conf里面存放着更新Clam AntiVirus病毒定义码时的配置文件。
在配置之前,先要为clamav的socket文件建立存放路径,指令如下:
#mkdir -p /var/amavis/clamd
首先配置clamd.conf,你用喜欢的编辑器,如vi,gedit,nona等
注释掉Example,以使整个配置文件生效。
#Example
指明日志文件的存放地点
LogFile /var/log/clamd.log
指明日志需要详细记录
LogVerbose
每条日志信息需要指明时间
LogTime
指定日志文件最大的字节数1M
LogFileMaxSize 1M
指定Clamd的套节字存放路径
LocalSocket /var/amavis/clamd/clamav.socket
指定Clamd的Pid存放路径
PidFile /var/run/clamav/clamd.pid
指明扫描病毒时需要使用病毒库的路径
DataDirectory /usr/local/share/clamav
指明套件运行的用的系统账号
User root
指明对邮件进行扫描
ScanMail
指明对RAR文件进行扫描
ScanRAR
其他的Clamd变量用它的默认值即可。
freshclam.conf的配置参数和clamd.conf基本一样。
需要注意一点的就是DataDirectory这个变量的值需要和clamd.conf里的一样,否则就会出现问题了。
关于freshclam.conf的配置我就不在这里多作说明,参考clamd.conf的配置即可。
配置好freshclam.conf之后,我们就可以来更新clamd的病毒定义档了。
#/usr/local/bin/freshclam
ClamAV update process started at Tue Apr 19 17:12:27 2005
main.cvd is up to date (version: 30, sigs: 31086, f-level: 4, builder: tkojm)
Downloading daily.cvd [*]
daily.cvd updated (version: 840, sigs: 2095, f-level: 4, builder: clearcase/" target="_blank" >ccordes)
Database updated (33181 signatures) from database.clamav.net (IP: 203.16.234.78)[
Ok,配置好之后就可以用Clamd来扫描试试看结果如何了。
#/usr/local/bin/clamscan test -r
test/clam.exe.bz2: ClamAV-Test-File FOUND
test/clam.cab: ClamAV-Test-File FOUND
test/clam-error.rar: RAR module failure
test/clam-error.rar: OK
test/mbox/debugm.c: OK
test/clam.rar: ClamAV-Test-File FOUND
test/clam.exe: ClamAV-Test-File FOUND
test/clam.zip: ClamAV-Test-File FOUND
test/README: OK
----------- SCAN SUMMARY -----------
Known viruses: 32783
Engine version: 0.84rc1
Scanned directories: 2
Scanned files: 8
Infected files: 5
Data scanned: 0.00 MB
Time: 1.122 sec (0 m 1 s)
test是clam antivirus源程序里面的一个文件夹,用在测试安装好了的Clamd,以上是此次测试的结果。
建立开机时,让ClamAntivirus自动启动并作为一个服务
要实现这个功能,需要在/etc/init.d/目录下编写一个scirpt档案,并且需要给它加上可执行的权限。
用你喜欢的编辑器在/etc/init.d/增加一个clamd的文件,内容如下:
#!/bin/bash
#
#chkconfig:2345 90 60
#description:clamd is a standard unix program that scans for virus
#configure file:/usr/local/etc/clamd.conf
#pidfile:/var/run/clamav/clamd.pid
#Source function library.
. /etc/init.d/functions
retvar=0
#see how we were called.
prog="clamd"
progdir="/usr/local/sbin"
#Sourece configuration
if [ -f /etc/sysconfig/$prog ];then
. /etc/sysconfig/$prog
fi
start() {
echo -n $"Starting $prog:"
$progdir/$prog
retval=$?
echo
[ $retval -eq 0 ] && toch /var/run/clamav/clamd.pid
return $retval
}
stop() {
echo -n $"Stoping $prog:"
killall $prog
retval=$?
echo [ $retval -eq 0 ] && rm -f /var/run/clamav/clamd.pid
return $retval
}
rhstatus() {
status clamd
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading clam daemon configuration:"
killall clamd
retval =$?
echo
return $retval
}
case "" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
shstatus
;;
*)
echo $"Usage: [start|stop|status|reload|restart}"
exit 1
esac
exit 0
存盘退出。
执行下面三条指令,给这个文件加上可执行属性,并把clamd 加为服务起动。
增加可执行属性
#chmod 755 /etc/init.d/clamd
把clamd加为服务
#chkconfing --add clamd
让电脑每次启动时把Clamd也启动起来
#chkconfig clamd on