在Ubuntu 12.04上配置clamdscan扫描系统上的所有文件

在Ubuntu 12.04上配置clamdscan扫描系统上的所有文件,ubuntu,ubuntu-12.04,Ubuntu,Ubuntu 12.04,我执行了以下操作以安装clamscan: sudo aptitude install clamav sudo aptitude install clamav-daemon 并证实: sudo ps -eal | grep clam 1 S 116 4788 1 2 80 0 - 4004 pause ? 00:00:13 freshclam 1 S 116 5930 1 0 80 0 - 69984 poll_s ? 00:00:00 clamd 但是,当我试图通过运行 #sudo cl

我执行了以下操作以安装clamscan:

sudo aptitude install clamav 
sudo aptitude install clamav-daemon
并证实:

sudo ps -eal | grep clam
1 S 116 4788 1 2 80 0 - 4004 pause ? 00:00:13 freshclam
1 S 116 5930 1 0 80 0 - 69984 poll_s ? 00:00:00 clamd 
但是,当我试图通过运行

#sudo clamdscan /
我一直收到以下错误消息:

lstat()失败:权限被拒绝。错误

但是如果我跑

sudo clamscan /
这是可行的,但这个过程要长得多,不是一个好的选择

据我所知,clamd使用用户“clamav”,并在/etc/clamav/clad.conf文件中列出。我已经将用户clamav添加到以下组:root、adm、sudo,但它仍然不起作用


我还尝试禁用Apparmor,据我所知,这可能是问题所在,但没有成功。

sudo clamdscan/path/to/some_file.txt将请求传递给clamd守护程序。该daemun在另一个用户下运行,该用户可能无权访问
/path/to/some_file.txt

但是,调用该命令的用户很可能有权访问该文件。要将权限传递给守护进程,请使用
--fdpass
标志:

--fdpass
    Pass the file descriptor permissions to clamd. This is useful if clamd is running as a different user as it is faster than streaming the file to clamd. Only available if connected to clamd via local(unix) socket. 
在您的情况下,
sudo-clamdscan--fdpass/
应该可以做到这一点