在 fc29 上我安装了 clamd,[电子邮件保护]运行良好。clamdscan 可以为 root 运行,但不能为普通用户运行,即使添加到“clamscan”组后也是如此。
dnf list installed | grep clam
clamav.x86_64 0.101.0-3.fc29 @updates
clamav-filesystem.noarch 0.101.0-3.fc29 @updates
clamav-lib.x86_64 0.101.0-3.fc29 @updates
clamav-update.x86_64 0.101.0-3.fc29 @updates
clamd.x86_64 0.101.0-3.fc29 @updates
以 root 身份运行 clamdscan 效果很好
clamdscan --fdpass .
gpasswd -a reg_user clamscan
当以 clamscan 组中的用户身份运行时 -
clamdscan --fdpass .
ERROR: Could not connect to clamd on LocalSocket /var/run/clamd.scan/clamd.sock: Permission denied
仍然没有-
sudo -u reg_user clamdscan --fdpass .
ERROR: Could not connect to clamd on LocalSocket /var/run/clamd.scan/clamd.sock: Permission denied
不出所料-
sudo -u reg_user ls -la /var/run/clamd.scan
ls: cannot open directory '/var/run/clamd.scan': Permission denied
sudo -u clamscan ls -la /var/run/clamd.scan
total 0
drwx--x---. 2 clamscan virusgroup 60 Jan 9 10:24 .
drwxr-xr-x. 42 root root 1220 Jan 9 09:06 ..
srw-rw----. 1 clamscan virusgroup 0 Jan 9 10:24 clamd.sock
以下是配置中的套接字设置 -
cat /etc/clamd.d/scan.conf | grep ocket
LocalSocket /var/run/clamd.scan/clamd.sock
LocalSocketGroup virusgroup
LocalSocketMode 660
FixStaleSocket yes
这是插座-
ls -laZ /var/run/clamd.scan
total 0
drwx--x---. 2 clamscan virusgroup system_u:object_r:antivirus_var_run_t:s0 60 Jan 9 10:08 .
drwxr-xr-x. 42 root root system_u:object_r:var_run_t:s0 1220 Jan 9 09:06 ..
srw-rw----. 1 clamscan virusgroup system_u:object_r:antivirus_var_run_t:s0 0 Jan 9 10:08 clamd.sock
以下是该组:
cat /etc/group | grep clam
clamupdate:x:976:
virusgroup:x:975:clamupdate,clamscan
clamscan:x:974:reg_user
据我所知,selinux 不会阻止此操作。我看到有人对 redhat 变体中的套接字文件夹的权限存在一些争论,但似乎 clamdscan 应该为“clamscan”组中的任何用户运行。