Ubuntu 20.04.2
ClamAV 0.102.4
我想对 ClamD 的 LocalSocket 指令使用不同的值,但一直出现以下错误:
!LOCAL: Socket file /var/run/clamd.scan/clamd.sock could not be bound: Permission denied
/etc/clamav/clamd.conf 中的默认值为:
LocalSocket /var/run/clamav/clamd.ctl
FixStaleSocket true
LocalSocketGroup clamav
LocalSocketMode 666
User clamav
我将 LocalSocket 值更改为:
LocalSocket /var/run/clamd.scan/clamd.sock
FixStaleSocket true
LocalSocketGroup clamav
LocalSocketMode 666
User clamav
然后创建新目录并设置权限和所有权。与可以创建套接字文件的 /var/run/clamav/ 相匹配。
mkdir /var/run/clamd.scan
chown clamav:root /var/run/clamd.scan/
chmod 755 /var/run/clamd.scan/
重新启动 Clam 并收到上面的“权限被拒绝”错误
systemctl restart clamav-daemon && systemctl status clamav-daemon.service
目录所有权和权限相同:
drwxr-xr-x 2 clamav root 40 Feb 26 18:52 clamav/
drwxr-xr-x 2 clamav root 60 Feb 26 19:12 clamd.scan/
我尝试暂时将权限更改/var/run/clamd.scan/
为 777,但重新启动 clamd 后仍然出现相同的错误。
如果我尝试,我可以以 clamav 用户身份在该目录中创建一个文件:
su - clamav -s /bin/bash -c "cd /var/run/clamd.scan && touch clamd.sock"
所以我不明白为什么我会收到“权限被拒绝”的消息。有什么建议吗?我肯定漏掉了什么。
答案1
我遇到了与您类似的问题:全新安装后,clamd 无法充分使用其套接字,并且在我手动启动它时发出抱怨:
$ sudo clamd
!LOCAL: Socket file /var/run/clamav/clamd.ctl could not be removed: Permission denied
(我不确定这是启动 clamd 的正确方法,但仍然)因此我将权限设置如下:
drwxrwxr-x 2 root clamav 60 mars 21 09:49 clamav
srw-rw-rw- 1 clamav clamav 0 mars 21 09:51 clamd.ctl
然后sudo clamd
返回而没有任何错误消息,所以 clamd 已启动!
我对其他人对此套接字具有 rw 权限的想法感到不安,但是如果我删除它们,则在启动它时,clamd 会将它们再次设置回来......
我希望它能有所帮助!