You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过clamd.conf完全禁用ClamAV的临时文件/临时目录功能

如何通过clamd.conf完全禁用ClamAV的临时文件/临时目录功能

嘿,这个问题我刚好折腾过,先给你说清楚:完全禁用所有临时文件写入是有使用场景限制的,但如果你的需求允许调整扫描策略,咱们可以做到让ClamAV完全不碰磁盘的临时文件。

核心配置方案(分两种场景)

场景1:不需要扫描归档文件(zip/tar/rar等)

这种情况下可以做到彻底不往磁盘写临时文件,编辑你的clamd.conf文件,添加或修改以下配置项:

  • DisableCache yes:关掉ClamAV的病毒库缓存功能,避免自动生成缓存临时文件到磁盘。
  • ScanArchive no:这是关键!ClamAV扫描归档文件时必须解压内容到临时文件,只要开着这个功能就没法完全避免磁盘写入,所以直接关闭归档扫描。
  • StreamMaxLength <你的最大文件大小>:比如设置成StreamMaxLength 200M,确保你要扫描的所有文件都能完整加载到内存里处理,不用写入临时文件。数值根据你的实际业务调整,别比你要扫描的最大文件小就行。

配置完后重启clamd服务,之后你可以监控默认临时目录(比如/tmp),会发现没有新的ClamAV临时文件生成了。

场景2:必须扫描归档文件

这种情况没法彻底禁用临时文件(因为解压归档必须要有临时空间),但可以把临时目录放到内存文件系统里,完全避免磁盘写入:

  • 先创建内存中的临时目录:mkdir /dev/shm/clamav-tmp && chown clamav:clamav /dev/shm/clamav-tmp
  • 编辑clamd.conf,添加:TempDirectory /dev/shm/clamav-tmp
  • 同样加上DisableCache yes和足够大的StreamMaxLength,减少不必要的磁盘交互。

注意事项

  • 如果你设置的StreamMaxLength太小,遇到超过这个大小的文件,ClamAV还是会自动写入临时文件到磁盘,所以一定要根据实际情况调整。
  • 内存文件系统的空间有限,如果扫描超大归档文件,可能会出现内存不足的问题,需要权衡归档扫描需求和系统内存资源。

备注:内容来源于stack exchange,提问作者A X

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:17:32