#clamav安装与使用

###第一步:Clamav下载
http://www.clamav.net/downloads   
wget http://www.clamav.net/downloads/production/clamav-0.99.2.tar.gz

###第二步:创建clamav用户和组
groupadd clamav   (创建clamav组)
useradd -g clamav clamav(创建clamav用户并加入clamav组)

###第三步:编译安装
```shell
tar -xf clamav-0.99.2.tar.gz
cd clamav-0.99.2

安装依赖包
yum install gcc openssl openssl-devel  -y

./configure--prefix=/usr/local/clamav
make&&make install
```

###第四步:配置
```shell
mkdir /usr/local/clamav/logs      #(日志存放目录)
touch /usr/local/clamav/logs/clamd.log
touch /usr/local/clamav/logs/freshclam.log
mkdir /usr/local/clamav/updata   #(clanav 病毒库目录)
chown -R root.clamav /usr/local/clamav/
chown -R clamav.clamav /usr/local/clamav/updata/
  
chown clamav.clamav /usr/local/clamav/logs/clamd.log
chown clamav.clamav /usr/local/clamav/logs/freshclam.log

cd /usr/local/clamav/etc
cp clamd.conf.sample clamd.conf
cp freshclam.conf.sample freshclam.conf

vim clamd.conf
#Example    注释掉这一行.
LogFile /usr/local/clamav/logs/clamd.log    
PidFile /usr/local/clamav/updata/clamd.pid     
DatabaseDirectory /usr/local/clamav/updata

vim freshclam.conf
#Example    注释掉这一行.  
DatabaseDirectory /usr/local/clamav/updata
UpdateLogFile /usr/local/clamav/logs/freshclam.log
PidFile /usr/local/clamav/updata/freshclam.pid
```

###第五步:升级病毒库
/usr/local/clamav/bin/freshclam

PS:这个过程很久,大概半个小时。确保网络正常

```shell
--help / -h              show help
--version / -V           print version number and exit
--verbose / -v           be verbose
--debug                  enable debug messages
--quiet                  only output error messages
--no-warnings            don't print and log warnings
--stdout                 write to stdout instead of stderr
--show-progress          show download progress percentage
--config-file=FILE       read configuration from FILE.
--log=FILE / -l FILE     log into FILE
--daemon / -d            run in daemon mode
--pid=FILE / -p FILE     save daemon's pid in FILE
--user=USER / -u USER    run as USER
--no-dns                 force old non-DNS verification method
--checks=#n / -c #n      number of checks per day, 1 <= n <= 50
--datadir=DIRECTORY      download new databases into DIRECTORY
--daemon-notify[=/path/clamd.conf]   send RELOAD command to clamd
--local-address=IP / -a IP    bind to IP for HTTP downloads
--on-update-execute=COMMAND   execute COMMAND after successful update
--on-error-execute=COMMAND    execute COMMAND if errors occured
--on-outdated-execute=COMMAND execute COMMAND when software is outdated
--list-mirrors           print mirrors from mirrors.dat
--enable-stats           enable statistical information reporting
--stats-host-id=UUID     HostID in the form of an UUID to use when submitting statistical information
--update-db=DBNAME       only update database DBNAME
```



###第六步:杀毒
/usr/local/clamav/bin/clamscan -r --remove (查杀当前目录并删除感染的文件)
/usr/local/clamav/bin/clamscan -r --bell -i / (扫描所有文件并且显示有问题的文件的扫描结果)

>其他参数
>```shell
>   -r/--recursive[=yes/no] 所有文件
>  --log=FILE/-l FILE  增加扫描报告
>  # clamscan -l /var/log/clamscan.log /
>  --move [路径] 移动病毒文件至..
>  --remove [路径] 删除病毒文件
>  --quiet  只输出错误消息
>  --infected/-i 只输出感染文件
>  --suppress-ok-results/-o 跳过扫描OK的文件
>  --bell   扫描到病毒文件发出警报声音
>  --unzip(unrar) 解压压缩文件扫描
>```

###第七步:计划任务
实际生产环境应用
一般使用计划任务,让服务器每天晚上定时跟新和定时杀毒。保存杀毒日志,我的crontab文件如下
16 4 * * *         /usr/local/clamav/bin/freshclam
16 5 * * *         /usr/local/clamav/bin/clamscan  --infected  -r /  --remove -l /var/log/clamscan.log





>返回值
>0 : 无病毒
>1 : 发现病毒
>40: 已经通过的未知选项
>50: 数据库初始化错误
>52: 不支持的文件格式
>53: 无法打开目录
>54: 不能打开文件(ofm)
>55: 读文件错误(ofm)
>56: Can't stat input file / directory.
>57: Can't get absolute path name of current working directory.
>58: I/O 错误, 请检查文件系统
>59: 无法在/etc/passwd获得当前用户的信息
>60: 无法在/etc/passwd获得'clamav'(默认名)用户的信息
>61: Can't fork.
>63: 不能创建临时文件/目录(检查权限).
>64: 无法对临时目录进行写操作 (请指定另一个目录).
>70: 无法分配或释放内存 (calloc).
>71: 无法分配内存 (malloc).






```shell
NOTE:
Problem:
"Update failed. Your network may be down or none of the mirrors listed in  /usr/local/etc/freshclam.conf is working. Check http://www.clamav.net/doc/mirrors-faq.html for possible reasons."

Resolve:
from freshclam.conf file find the line
#DatabaseMirror db.XY.clamav.net and uncomment it out to
DatabaseMirror db.us.clamav.net
#or DatabaseMirror db.ac.clamav.net
```
### 安装和配置 ClamAV 的方法 #### 更新系统 为了确保系统的稳定性和兼容性,在安装任何新软件之前,建议先更新操作系统。可以运行以下命令来完成此操作: ```bash sudo dnf update -y ``` 这一步会将所有的包以及内核升级到最新版本[^1]。 --- #### 安装 EPEL 仓库 ClamAV 可能不在默认的 CentOS 软件源中,因此需要启用额外的第三方存储库——EPEL (Extra Packages for Enterprise Linux) 来获取必要的依赖项。执行以下命令以安装并启用该存储库: ```bash sudo dnf install epel-release -y ``` 通过启用 EPEL 存储库,可以获得更广泛的软件支持,其中包括 ClamAV 所需的部分组件[^3]。 --- #### 安装 ClamAV 和其相关组件 一旦启用了 EPEL 仓库,则可以通过 `dnf` 命令轻松安装 ClamAV 及其关联服务。以下是完整的安装指令列表: ```bash sudo dnf install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd -y ``` 上述命令将会下载并安装 ClamAV 主程序及其附属模块,例如用于定时扫描的服务脚本等。 --- #### 配置 SELinux 支持 如果服务器启用了 SELinux(Security Enhanced Linux),则可能需要调整策略规则以便允许 ClamAV 访问某些目录或文件。具体做法如下所示: 编辑 `/etc/selinux/config` 文件中的设置为 permissive 或 enforcing 模式之一;或者直接应用特定布尔值开关控制权限范围扩展: ```bash setsebool -P antivirus_can_scan_system on ``` 这条语句授予了 ClamAV 更高的访问级别,从而能够正常运作而不受安全机制干扰。 --- #### 初始化病毒定义数据库 首次启动前必须同步最新的病毒特征码至本地机器上。利用内置工具 `freshclam` 实现这一目标非常简单快捷: ```bash sudo freshclam ``` 当看到类似于 “Database updated successfully” 这样的消息时即表示成功完成了初始化工作流程[^4]。 --- #### 启动验证服务状态 最后一步就是激活实际负责后台持续监控工作的 daemon 进程,并确认它们处于活动当中: ```bash sudo systemctl start clamav-daemon.service sudo systemctl enable clamav-daemon.service sudo systemctl status clamav-daemon.service ``` 以上三条分别代表开启当前 session 下可用性、开机自启设定以及查看实时健康状况报告三方面功能[^2]。 --- ### 使用示例 要手动触发一次全盘扫描可尝试下面这段代码片段作为参考模板: ```bash clamscan -r /path/to/directory/ ``` 其中 `-r` 参数指定了递归模式,意味着会对指定路径下的所有子文件夹逐一审查是否存在潜在威胁对象。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值