Fedora Core3上ClamAntiVirus的安装

发表于:2007-07-04来源:作者:点击数: 标签:
Clam AntiVirus是GPL授权的 Unix 及类Unix上的主流防毒软件,它提供命令行的文件扫描方式以及病毒的更新,它是用C语言编写和程式。 Clam AntiVirus的官方网址:http://sourceforge.net/projects/clamav/ 目前出的最新版本为0.85.1,下载地址:http://prdownlo
Clam AntiVirus是GPL授权的Unix及类Unix上的主流防毒软件,它提供命令行的文件扫描方式以及病毒的更新,它是用C语言编写和程式。
Clam AntiVirus的官方网址:http://sourceforge.net/projects/clamav/
目前出的最新版本为0.85.1,下载地址:http://prdownloads.sourceforge.net/clamav/clamav-0.85.1.tar.gz?download
在安装这套程式之前,我们需要了解一下,Fedora core3里面是否安装有Zlib套件,如果没有,在安装Clam Antivirus时,对Clam Antivirus的编译会出错,当然>,你也可以选择逃避这个问题而直接安装程式,但在配置时需要指定特别的选项,参考如下信息:
#./configure
...
checking whether to enable maintainer-specific portions of Makefiles... no
checking for zlib installation... /usr
configure: error: The installed zlib version may contain a security bug. Please upgrade to 1.2.2 or later: http://www.zlib.net. You can omit this check with --disable-zlib-vcheck but DO NOT REPORT any stability issues then!
上面的信息提示里说明,如果你要跳过zlib的检查,需要在配置时增加一个选项--disable-zlib-vcheck,这样在编译时就不会报错了。
不过还是建议你把它装上,关于zlib的信息,请参考http://www.zlib.net
zlib 现在的最新版本是1.2.2 ,下载地址:http://www.zlib.net/zlib-1.2.2.tar.gz
下载解压之后就可以安装它了。
#./configure
#make
#make install
装完zlib之后,
有时候可能你还需要安装其他的套件,比如libidn,这要视你在安装Fedora core3时选择的组件而有所不同,下载libidn的网址http://www.gnu.org/software/libidn/#downloading

装完这些套件之后,就可以安装Clam Anti Virus了。


为了安全起见,需要为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

原文转自:http://www.ltesting.net