Apache访问日志自动设置权限

16

为了进行一些测试,我需要通过ssh远程跟踪apache访问日志。只有在日志的权限准确设置时,我才能成功地做到这一点。我注意到每周会创建一个新的apache access.log,并重新设置权限。

我的当前解决方法是每周编辑下日志的权限:

chmod 644 /var/log/apache2/access.log

我在想是否有更永久的解决方案,比如延长旧日志保留的时间或者在创建新日志时自动设置权限。

如果有用的话,我正在运行Ubuntu 11.10服务器。

2个回答

29

编辑您的logrotate.conf文件以为apache.log文件设置正确的所有者/权限。像这样:

/var/log/apache2/access.log {
    weekly
    create 0644 root utmp
    rotate 1
}

(编辑:将模式从0744更改为0644。无需设置执行位。)


9
有些情况下,配置文件可能在/etc/logrotate.d/apache2中。 - jevon
4
如果您编辑/etc/logrotate.d/apache2,那么在下次升级Apache时,您的更改将会丢失。相反,您应该直接修改logrotate.conf,在include后添加您的配置以覆盖默认配置。 - jevon
@jevon,你的建议出现了一个错误:/var/log/apache2/access.log 的日志条目重复。 - GergelyPolonkai

0

也许是其他应用程序,比如logrotate,正在更改日志?(听起来像是这样,因为它只在每周发生)我不认为Apache本身负责权限更改。

一个好的开始是检查/etc/cron./*,看看是否有任何cron作业正在触及access.log

祝你好运!


1
我认为他想要access.log 设置为 777,以便任何人都可以查看日志。也许 744 更好,这样其他人就无法修改日志。 - hobbes3
1
不,最好找出是哪个程序修改了日志的权限,而不是盲目地设置权限。如果是logrotate,则可能会因为没有足够的权限而出现故障。 - Wesley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接