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

使用pyclamd扫描文件时出现权限拒绝错误的求助

解决ClamAV扫描文件时的权限拒绝问题

问题重现

使用的Python代码:

import pyclamd

clamd = pyclamd.ClamdUnixSocket()
result = clamd.scan_file("/home/calmav/scan_file/code/test.txt")
print(result)

运行后出现的错误:

{'/home/calmav/scan_file/code/test.txt': ('ERROR', 'File path check failure: Permission denied.')}

解决方案

该错误是ClamAV后台进程clamd没有目标文件的访问权限导致的,以下是具体解决办法:

  • 调整文件与目录权限
    确保clamd运行用户(通常为clamav)能读取目标文件并进入上级目录:

    1. 确认clamd运行用户:执行ps aux | grep clamd,输出中会显示所属用户
    2. 给目标文件添加其他用户读取权限:chmod o+r /home/calmav/scan_file/code/test.txt
    3. 给上级目录添加其他用户执行权限(允许进程进入目录):
      chmod o+x /home/calmav/scan_file/code/
      chmod o+x /home/calmav/scan_file/
      
  • 修改文件所属用户/组
    将目标文件的所有者或组改为clamav:

    chown clamav:clamav /home/calmav/scan_file/code/test.txt
    
  • 配置ClamAV权限选项
    编辑ClamAV配置文件(通常路径为/etc/clamav/clamd.conf):

    1. 打开配置文件:sudo nano /etc/clamav/clamd.conf
    2. 找到AllowSupplementaryGroups选项,设置为yes,让clamd可以使用附加组权限访问文件
    3. 重启clamd服务:sudo systemctl restart clamav-daemon
  • 临时以root运行clamd(不推荐)
    仅用于测试场景,生产环境禁止使用,会带来安全风险:

    sudo systemctl stop clamav-daemon
    sudo clamd --foreground
    

内容的提问来源于stack exchange,提问作者Diwash Bhandari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:55:31