【问题标题】:Apache access log automatically set permissionsApache访问日志自动设置权限
【发布时间】:2012-03-23 00:16:50
【问题描述】:

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

我目前的工作是每周编辑一次日志的权限:

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

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

如果重要的话,我在 Ubuntu 11.10 上运行服务器

【问题讨论】:

    标签: linux permissions apache2 logging


    【解决方案1】:

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

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

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

    【讨论】:

    • 在某些情况下,配置可能在/etc/logrotate.d/apache2 中。
    • 但是,如果您编辑/etc/logrotate.d/apache2,那么您的更改将在您下次升级 Apache 时丢失。您应该在 include 之后直接修改 logrotate.conf(因此您的配置会覆盖)。
    • @jevon 你的提议会产生错误:duplicate log entry for /var/log/apache2/access.log
    【解决方案2】:

    也许另一个应用程序(例如 logrotate)正在更改日志? (听起来像,因为它只每周发生一次)我不认为 Apache 本身对权限机会负责。

    一个很好的起点是检查 /etc/cron./* 看看是否有任何 cron 作业触及 access.log

    祝你好运!

    【讨论】:

    • 我认为他想要access.log 设置为777 以便任何人都可以查看日志。好吧可能744更好,这样其他人就不能修改日志了。
    • 不行,最好找什么程序修改日志的权限,而不是一味的设置权限。如果它是 logrotate,那么它可能会因为没有足够的权限而中断。
    猜你喜欢
    • 2018-01-14
    • 2017-05-11
    • 2019-03-16
    • 2019-02-21
    • 2015-01-24
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多