Debian 8:无法让ClamAV在TCP 3310上收听

我试图让Clamav-daemon在Debian 8系统上运行,以便在TCP端口3310上侦听。我已经完成了以下工作:

aptitude install clamav-daemon 

然后修改/etc/clamav/clamd.conf ,使它现在在顶部有以下内容:

 # Added by me TCPSocket 3310 TCPAddr localhost # Already existed LocalSocket /var/run/clamav/clamd.ctl FixStaleSocket true LocalSocketGroup clamav LocalSocketMode 666 

使用service clamav-daemon restart

我发现netstat -tap | grep clam netstat -tap | grep clam不返回任何东西。 运行ps aux | grep clam ps aux | grep clam返回:

 clamav 18559 11.4 10.3 649212 399604 ? Ssl 14:38 0:15 /usr/sbin/clamd --foreground=true 

有一个自动生成的文件/etc/systemd/system/clamav-daemon.socket.d/extend.conf ,其中包含:

 [Socket] ListenStream= SocketUser=clamav ListenStream=/var/run/clamav/clamd.ctl SocketGroup=clamav SocketMode=666 

我在日志中能看到的唯一想法是/var/log/clamav/clamav.log

 TCP: No tcp AF_INET/AF_INET6 SOCK_STREAM socket received from systemd 

有谁知道为什么我可能会遇到麻烦让ClamAV在TCP:3310上运行?

我现在有它的工作,但它不像在Debian 7上那么好configuration。

我只能有TCP或unixsocket(不知道为什么),但不能同时运行。 因此我正在使用:

/etc/systemd/system/clamav-daemon.socket.d/extend.conf

 [Socket] ListenStream= SocketUser=clamav ListenStream=3310 

/etc/clamav/clamd.conf只有:

 TCPSocket 3310 

并没有其中的unix套接字信息。 所以这是删除:

 LocalSocket /var/run/clamav/clamd.ctl FixStaleSocket true LocalSocketGroup clamav LocalSocketMode 666 

然后为了得到Exim4使用它,我有:

 av_scanner = clamd:127.0.0.1:local 

我不能在那里使用localhost 。 它必须是127.0.0.1

我没有足够的代表评论(因为我的解决scheme是在不同的发行版),但在安装Ubuntu 16.04,这对我工作:

直接修改clamav-daemon.socket:

 [Socket] ListenStream=/run/clamav/clamd.ctl ListenStream=xx.xx.xx.xx:3310 SocketUser=clamav SocketGroup=clamav RemoveOnStop=True 

将它添加到extend.conf中对我来说不起作用,但是当我把所有的东西都从extend.conf中解释出来并重新加载并重新启动的时候,它们都被监听了。

在这个变化之前,我看到了与@Doahh相同的问题

在Ubuntu 16.04上testing了很多次之后,我得到了它的工作。

  • 注释掉所有ListenStream= in /lib/systemd/system/clamav-daemon.socket 。 如果你不注释掉它们,你会得到像TCP: Received more than two file descriptors from systemd一样的错误TCP: Received more than two file descriptors from systemd并且clamav不能启动。

  • /etc/systemd/system/clamav-daemon.socket.d/extend.conf添加您自己的ListenStream=行。 多个ListenStream= (一个套接字,一个networking端口)是这样支持的:

[Socket] ListenStream=/run/clamav/clamd.ctl ListenStream=xx.xx.xx.xx:3310 SocketUser=clamav SocketGroup=clamav RemoveOnStop=True