我在 ubuntu 服务器 20.04 上运行了一个简单的 python3 脚本,它试图调用 clamd(clamav-daemon 进程)库来扫描文件。扫描 ping() 和 version() 函数都可以正常工作。但是,当我实际进行测试写入和扫描时,出现以下错误:
{'/filedrop/test.doc': ('ERROR', "Can't open file or directory")}
这是我用来调用测试写入和扫描的代码,这是来自clamd网站的所有标准示例:
open('/filedrop/test.doc','wb').write(clamd.EICAR)
print(cd.scan('/filedrop/test.doc'))
代码运行后,我在测试文件中得到以下字符串,表明 python3 脚本能够成功写入文件,但是当我使用 clamd 扫描时,我不断收到文件无法打开的错误功能。
这是写入文件的字符串:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
我还可以从文件夹上的命令行运行 clamscan,它也可以成功扫描文件。
当服务使用 clamav:clamav 时,我以 root 用户身份运行。我确实将文件夹和文件的读/写权限授予“其他用户”,并且还表明该文件可以由 python 脚本编写。