如何修复Amvavis报告克拉马夫的“许可被拒绝”


12

我最近注意到一个令人沮丧的问题...处理电子邮件时,尝试病毒扫描附件时,Ubuntu Server(应用了所有更新)报告“权限被拒绝”。

Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)run_av (ClamAV-clamd) FAILED - unexpected , output="/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts: lstat() failed: Permission denied. ERROR\n"
Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)ClamAV-clamd av-scanner FAILED: CODE(0x30cf250) unexpected , output="/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts: lstat() failed: Permission denied. ERROR\n" at (eval 136) line 899.
Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)WARN: all primary virus scanners failed, considering backups

当我查看有问题的目录时,会看到以下内容:

$ ls -ld /var/lib/amavis/tmp
drwxrwx--- 4 amavis amavis 4096 Apr  2 14:16 /var/lib/amavis/tmp
$ ls -ld /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/
drwxr-x--- 3 amavis amavis 4096 Apr  2 14:05 /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/
$ ls -ld /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts                                                                                                                                                                           
drwxr-x--- 2 amavis amavis 4096 Apr  2 14:16 /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts

我确保了这个蛤user用户是amavisd组的成员-但这没有解决任何问题。谁能具体告诉我,哪个组件需要什么权限-理想情况下该怎么做才能解决此问题?

澄清:我不是要对权限基础进行解释。我正在寻找适合此特定问题的解决方案-乍一看,至少看起来像amavis套件的一个组件(也许是蛤)使用了错误的umask值。当然,此错误可能是由于许多错误或配置故障引起的。我正在寻找一种最适合这种情况的解决方案……“香草” amavis / clamav安装程序无法访问它在扫描入站电子邮件时创建的临时文件夹的内容。

我知道这个类似(非Ubuntu)问题。Redhat / Centos的答案不能解决我在Ubuntu上遇到的问题。

在“ Ubuntu 14.04.2 LTS”上遇到此问题-没有挂起的更新。


该群组amavis没有和的写入权限/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt//var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts
AB

试试看chmod -R g+w /var/lib/amavis/tmp
AB

问题不是我不能更改允许组在目录上写的权限...问题是我不知道如何确保在/ var / lib / amavis / tmp /下创建的目录未来-使用正确的权限创建。该目录似乎是amavis扩展邮件以检查附件的位置。默认值曾经可以使用...现在,经过一些更新后,它不再起作用。
aSteve

然后处理您的问题。
AB

Answers:


13

一个可行的解决方案是改变

AllowSupplementaryGroups false-> true

在/etc/clamav/clamd.conf中

重新启动clamav-daemon


2
这就是为我解决的问题(我在Debian Jessie上)。将clamav添加到amavis组并不能解决问题。
chmike '16

2
AllowSupplementaryGroups选项已在最新版本的clamav中删除(上游的版本为0.99.2 +,2016年6月2日)。
DanielVérité16年

1
+1可行。下面的批准答案不可以。如果您遵循Ubuntu AmavisNew Wiki页面(希望如此),那么您已经将amavis / clamav作为补充组添加了起来。批准的答案只会重复此操作-不会起作用。我在16.04.1 LTS上运行默认pkgs。参考:help.ubuntu.com/community/PostfixAmavisNew
bshea


已确认:对我来说,也已解决问题,Ubuntu LTS 16.04.1

6

clamd用户是该amavis组的成员时,该clamd进程以clamav(不是clamd)用户的身份运行。

添加clamav到该amavis组解决了该问题。


2

由于AllowSupplementaryGroups不再存在,我最后将每个用户添加到另一个组中,如下所示:

usermod -a -G clamav amavis
usermod -a -G amavis clamav

(并确保重新启动所有操作)

/etc/init.d/clamav-daemon restart
/etc/init.d/amavis restart
/etc/init.d/postfix restart

这样,就不需要更改文件夹的权限了/var/lib/amavis/tmp(我不确定这些权限是否会像在下一次apt-get升级中一样保留)。


16.04.1上的默认pkg AllowSupplementaryGroups在main config中具有指令 。您正在发布误导性信息。如果该指令在较新的版本中不存在-那么为什么将补充组添加到每个帐户对您有用?它仍然在16.04.1上的CONFIG中,因为不再使用了吗?嗯 给我证明。顺便说一句,将其切换为“ TRUE”可使所有功能在16.04.1。参考:help.ubuntu.com/community/PostfixAmavisNew#Troubleshooting
bshea

这是不正确的,因为AllowSupplementaryGroups不存在。而且,您必须将其设置为true才能使其真正起作用。
user3021729

来自源代码0.99.2版本的grep clamd / clamd.c- if(optget(opts,“ AllowSupplementaryGroups”)-> enabled){clamd / clamd.c-#ifdef HAVE_INITGROUPS clamd / clamd.c:if(initgroups(opt-> strarg,user-> pw_gid)){clamd / clamd.c:fprintf(stderr,“错误:initgroups()失败。\ n”); clamd / clamd.c- optfree(opts); clamd / clamd.c-返回1; clamd / clamd.c-} clamd / clamd.c-#else
陈鼎一

0

我环顾四周,没有找到关于我所做的任何信息。首先,我卸下有问题的驱动器,然后重新安装驱动器。

ls -l /dev
sudo umount /dev/sdd4
sudo mkdir /mnt
sudo mount /dev/sdd4 /mnt

-5

您是否尝试在终端中输入以下内容:

       sudo -i
       gksu thunar

如果未安装thunar,请在终端中输入以下内容:

        sudo apt-get install thunar 

并允许对目录的读写权限:

       /var/lib/amavis

这是白色的,它可能会这样工作。


4
图纳尔设置权限?我的天啊。
AB

2
然后在服务器上?
AB

Mishael,当您已经安装了Ubuntu(Ubuntu桌面版)的GUI(gtk2 + xfce)时,可以使用它来更改权限。这里的OP提到了Ubuntu Server的使用。这意味着没有安装GUI,而必须使用CLI /命​​令行。eq:sudo chmod -R +rw /var/lib/amavis(-R表示递归)
user.dz 2015年

不受限制地尝试使用ulimet -i,这种方法可能会正常工作。
迈克尔·迈克尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.