使用带clamfs的防病毒clamav来扫描文件系统

我的系统是CentOS5-5。

我想用clamfs监视指定根目录下的子目录,一旦检测到就立即删除任何可疑文件。

到目前为止,我已经安装了clamav,然后clamfs。 我的问题是,当我把一个病毒签名文件放在我的根目录下时,clamfs没有反应,我怀疑clamfs和clamd之间没有任何通信。

下面我给你一些关于如何configurationclamav和clamfs的细节:

/etc/clamd.conf:

LogFile /var/log/clamav/clamd.log ... LogVerbose yes ... LocalSocket /var/run/clamav/clamd.sock ... User clamav ... AllowSupplementaryGroups yes ... 

我开始用下面的命令,并用root(感谢上面的文件clamd,然后属于用户clamav )clamd:

 service clamd start 

/etc/clamfs/clamfs.xml中 ,我设置了:

  • 与文件clamd.conf中的相同的套接字
  • 参数中要扫描的目录的根目录
  • 该目录将是mountpoint参数中根目录的副本
  • clamfs的日志文件

clamd socket =“/ var / run / clamav / clamd.sock

 ... 

filesystem root =“MyPathToScan”mountpoint =“CopyOfMyPathToScan”public =“yes”nonempty =“yes”

 ... 

log method =“file”filename =“PathToLogFile”verbose =“yes”

我想用clamfs及其所有子目录和文件进行扫描的根目录属于user01(属于组user01)。 所以我也将用户clamav设置在“user01”组中。

我以这样的方式启动clamfs:

clamfs /etc/clamfs/clamfs.xml

我补充说我的病毒数据库是最新的。

我注意到的问题如下:

  • 在clamfs的日志文件中,当我将一个带有病毒签名的文件放在我的根目录中时,什么也没有显示,但是当我运行“clamscan”时,它被检测到。
  • 如果我在这个根目录下运行“clamdscan”,我得到下面的错误(我添加了SELinux是“Disabled”,所以这不是问题):

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

  • 如果我用root用户而不是clamav运行clamd,我没有上面的“权限被拒绝”,但clamfs仍然不起作用。

谢谢你的帮助 !

西尔

我注意到这个麻烦可能来自于门卫。 我试图为我的家庭设置clamfs,它只是不断抱怨。 然后我创build了一个apparmorconfiguration文件,它工作:)

 $ cat /etc/apparmor.d/usr.bin.clamfs 

简单地说,我复制了clamav护甲并修改为clamfs – 猜测:

 #include <tunables/global> /usr/bin/clamfs { #include <abstractions/base> #include <abstractions/nameservice> # LP: #433764: capability dac_override, @{PROC}/filesystems r, owner @{PROC}/[0-9]*/status r, /etc/clamfs/* r, /etc/fuse.conf r, /usr/bin/clamfs mr, /tmp/ rw, /tmp/** krw, /var/run/clamav/clamd.ctl rw, # Allow home dir to be scanned /media/disk/* rw, /media/disk/** rw, # Site-specific additions and overrides. See local/README for details. #include <local/usr.bin.clamfs> } 

我还将/etc/init.d/skeleton复制到/etc/init.d/clamfs-home,并编辑成我的直觉最好的版本,使其成为可执行文件并称为update-rc.d clamfs-home默认值。 然后执行/etc/init.d/clamfs-home start和yay! 让我们看看它重新启动后是否回来。 我想知道的是如何使用非root用户运行clamfs …