511 字
1 分钟
Linux 反病毒软件 ClamAV
介绍
Linux 操作系统以其强大的权限管理和开源特性而闻名,相比其他操作系统(如 Windows),它确实更不容易受到病毒和恶意软件的攻击。但某些时刻的确需要一个防病毒软件,可以考虑使用 ClamAV:一款开源的防病毒引擎。
安装
安装 clamav 及其守护进程
sudo apt updatesudo apt install clamav clamav-daemon执行 clamscan --version,显示版本信息说明安装成功。
官方二进制安装
如果本地的软件源过于老旧,可能导致下载的 clamav 在更新病毒库时被拦截,此时可以直接从官方源安装最新版:
wget https://www.clamav.net/downloads/production/clamav-1.5.1.linux.x86_64.debsudo apt install ./clamav-1.5.1.linux.x86_64.deb使用
配置
[!warning] 当且仅当通过官方二进制安装时,可能需要这一步。否则请直接前往下一步更新病毒库
# 查找配置文件ls /usr/local/etc | grep clam会看到
clamd.conf.samplefreshclam.conf.sample将这两个文件重命名为无 .sample 后缀的形式并编辑,在文件开头找到如下内容:
...# Comment or remove the line below.Example...注释掉 Example 这一行,即修改为 #Example,然后保存关闭即可。
更新病毒库
第一次安装后,需要手动更新病毒库:
# 先暂停病毒库后台服务,否则无法更新sudo systemctl stop clamav-freshclam
# 更新病毒库数据sudo freshclam
# 启动 clamav 服务sudo systemctl enable clamav-freshclam --now查看病毒数据库目录及日期
ls -l /var/lib/clamav扫描文件
默认情况下,clamav 需要手动调用 clamscan 以扫描文件/目录:
# -r 递归扫描clamscan [-r] /path/to/file_or_pathclamav 会在终端显示扫描过程和结果,如果需要记录到日志,使用 -l 参数:
clamscan /path/to/scan -l /path/to/logfile其他常用参数:
-i:inject,仅显示(病毒)感染文件,避免大量刷 Log--remove:扫描到感染文件后删除该文件--help:帮助信息
脚本示例
以家目录为例,扫描是否存在感染文件。可以添加到 crontab 定时执行。
#!/bin/bash
SCAN_DIR="/home"EXCLUDE_LIST=( "^/home/user1(/.*)?$" "^/home/[^/]+/miniforge3(/.*)?$" "^/home/[^/]+/\.conda(/.*)?$")
EXCLUDE_ARGS=""for item in "${EXCLUDE_LIST[@]}"; do if [[ "$item" =~ \(/.*\)\?$ ]]; then EXCLUDE_ARGS+=" --exclude-dir='/$item/' " else EXCLUDE_ARGS+=" --exclude='/$item/' " fidone
LOG_FILE="/var/log/clamav_home_scan.log"echo "Scan started at $(date)" >> "$LOG_FILE"clamscan -r $EXCLUDE_ARGS "$SCAN_DIR" >> "$LOG_FILE" 2>&1echo "Scan completed at $(date)" >> "$LOG_FILE"参考文献
Linux 反病毒软件 ClamAV
https://blog.085404.xyz/posts/linux-反病毒软件-clamav/ 部分信息可能已经过时









