
前面咱们在 CentOS 7 里聊了Firewalld、Fail2ban和AIDE。今天咱们转个赛道 Ubuntu ,聊聊一个可能被忽略但偶尔能救场的工具——ClamAV。虽然 Linux 病毒少,但并非完全没有风险,尤其是当你经常处理来自不同系统的文件,尤其是 Windows 系统文件时。ClamAV 就像个“备用工具箱”,平时不显眼,关键时刻挺靠谱。
一、先说说它是个啥玩意儿
ClamAV 是个开源的反病毒引擎,以命令行操作为主,轻量、免费。在 Linux环境下,你可能不会每天用它,但如果你经常下载来源不明的压缩包、共享文件,或者单纯有“安全强迫症”,装上它挺合适。别指望它像商业软件那样有花哨的实时监控界面,它更像一把手动扫描的“手术刀”。
二、安装和基础操作
安装其实简单到离谱:
# 安装 sudo apt updatesudo apt install clamav clamav-daemon
装完后建议先更新病毒库(这步很重要,否则扫了个寂寞):sudo freshclam# 加-v看详细过程sudo freshclam -v
如果更新卡住,可能是网络问题,试试重启服务:
sudo systemctl restart clamav-freshclam# 如果提示freshclam无法锁定日志文件,通常是因为另一个freshclam进程正在运行,或者之前的进程没有正确释放锁。# 先看看是不是有僵尸进程占着茅坑ps aux | grep clam# 再强制结束所有相关进程sudo pkill -f freshclamsudo pkill -f clamav# 最后执行更新sudo freshclam
三、日常使用场景:怎么用它干活?
1. 快速扫描某个文件夹
比如你从网盘下了一堆文件到 ~/Downloads,不放心的话:
-r 表示递归扫描子目录。如果看到 OK 结尾的文件,基本没事;要是报 FOUND,就得警惕了。
----------- SCAN SUMMARY -----------Known viruses: 3627210Engine version: 1.4.3Scanned directories: 149Scanned files: 106Infected files: 0Total errors: 1Data scanned: 2.71 MBData read: 12.09 MB (ratio 0.22:1)Time: 11.022 sec (0 m 11 s)Start Date: 2026:01:12 20:49:22End Date: 2026:01:12 20:49:33
2. 全盘扫描(慎用,巨慢!)
偶尔想彻底检查系统,可以跑:
--bell 是发现病毒时响铃提醒(如果终端支持),-i 只显示感染文件。但注意,这可能会扫到系统日志之类的大文件,耗时很长,建议挂机操作。
3. 扫描并自动删除感染文件(危险操作!)
clamscan -r --remove ~/可疑文件夹
⚠️ 警告:最好先手动确认再删,尤其是工作文件,ClamAV 偶尔会误报(比如某些破解脚本或冷门软件)。
4. 扫描时强制包含所有文件(包括大文件):
sudo clamscan -r --bell -i --scan-archive=yes --max-filesize=500M --max-scansize=500M /home/你的用户名
--scan-archive=yes:深入扫描压缩包。
--max-filesize=500M:把跳过文件的尺寸上限提到500MB。
--max-scansize=500M:把扫描单个压缩包的总尺寸上限也提高。
注意:这么扫会巨慢,而且可能卡住,最好在不用电脑时跑。
5. 专门针对高风险文件类型扫描(更实用):
clamscan -r --include="\.(exe|dll|msi|vbs|js|pdf|doc|xls|zip|rar|7z)$" /home/你的用户名
这只扫Windows可执行文件、脚本文档和压缩包,速度快、针对性强,更适合日常检查。
6. 查看具体是哪个文件报错了:
sudo clamscan -r /home --log=/tmp/clamscan_report.txtcat /tmp/clamscan_report.txt | grep -i "error\|warning"
用管理员权限扫并生成日志,然后过滤出错误行,就能定位问题文件了。
四、进阶小技巧
定时自动扫描:用 cron 设置每周扫一次家目录。编辑定时任务:
添加一行(比如每周日凌晨3点):
0 3 * * 0 clamscan -r -i ~/Downloads >> ~/clamav_log.txt
日志会保存到 ~/clamav_log.txt,方便回头查看。
扫描特定类型文件:比如只查 .exe 或 .pdf(这类文件可能带恶意代码):
clamscan -r --include="\.(exe|pdf|zip)$" ~/文件库
五、图形化前端(适合新手)
如果你实在不喜欢命令行,可以装 clamtk:
它就是 ClamAV 的图形壳,右键菜单能直接扫描文件夹,比较直观。

六、卸载
sudo apt remove --purge clamav clamav-daemon clamav-freshclam#清理无用依赖,添加 --dry-run 查看清理了哪些依赖 sudo apt autoremove
删掉残留配置和文件
sudo rm -rf /var/log/clamav/sudo rm -rf /var/lib/clamav/
七、手动更新病毒库
如是内部服务器无法联网更新病毒库,可以按以下操作:
1. 上网机:正常更新,获取最新病毒库文件。
#确认文件已更新:ls-lh /var/lib/clamav/*.cvd
2. 转移文件:用U盘、SCP、内网共享等方式,把文件拷贝到内网服务器。# 从上网机执行,把文件推到内网服务器scp /var/lib/clamav/{main.cvd,daily.cvd,bytecode.cvd} 用户名@内网服务器IP:/tmp/# 或者从内网服务器拉取# 在内网服务器上执行:scp 用户名@上网机IP:/var/lib/clamav/*.cvd /tmp/
sudo systemctl restart clamav-freshclam
4. 设置自动更新(编辑/etc/clamav/freshclam.conf):Checks 24# 默认值,即每天检查24次(实际上每小时一次)
说实话,在 Linux 环境,ClamAV 更像是一种“心理安慰剂”或合规工具。它的真正价值在于:
传递文件前的安全检查(比如你打包发别人前扫一遍);
排查可疑的服务器文件(比如网站被上传了恶意脚本);
满足某些场景的安全审计要求。
别指望它防所有威胁,良好的使用习惯(比如不乱下载、定期更新系统)比任何杀毒软件都管用。但如果你需要这么一个工具镇场子,ClamAV 绝对够轻量、不添乱。
#Linux防护 #ClamAV
【如有疏漏,敬请指正!】