自从升级到 Wheezy 以来,Debian cron 一直抱怨日志目录所有权

自从升级到 Wheezy 以来,Debian cron 一直抱怨日志目录所有权

我从 cron 收到如下错误:

/etc/cron.daily/logrotate:错误:跳过“/var/log/apache2/access.log”,因为父目录具有不安全的权限(它是所有人可写的或者可由非“root”的组写入)在配置文件中设置“su”指令来告诉 logrotate 应该使用哪个用户/组进行轮换。

/var/log/apache2 目录归 拥有root并具有 gid adm,我认为这是应该的。 /etc/logrotate.d/apache2 是发行版的默认设置,这create 640 root adm也指定了。

那么我应该添加su root adm到 logrotate 文件中吗?如果我需要这样做,为什么它不在包维护版本中?

或者还有什么不对劲的地方?


根据要求编辑:

ls /var/log/apache2/ -ld
drwxrwx--- 6 root adm 24576 Nov 14 01:55 /var/log/apache2/

答案1

您应该将 /var/log/apache2/ 设置为非组可写。这将阻止 apache 在此目录中创建文件,但如果这些文件已经存在,则这样做没有问题。

$ chmod g-w /var/log/apache2

(我仍然不确定这是否正确 - 当新的虚拟主机设置了新的日志文件时会发生什么?)

相关内容