我试图让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