2012-03-05 48 views
10

對於我正在做的一些測試,我需要通過ssh遠程訪問apache訪問日誌。只有在爲日誌準確設置權限時,我才能成功完成此操作。我注意到,每週一次,會創建一個新的apache access.log並重置權限。Apache訪問日誌自動設置權限

我目前的工作一個星期左右是編輯對日誌的權限一次:

chmod 777 /var/log/apache2/access.log 

我在想,如果有一個長期的解決辦法,如延長時間,舊的日誌保留或自動設置權限當新的日誌被創建時。

如果它的事項,我運行在Ubuntu 11.10

回答

19

編輯您的logrotate.conf文件,爲apache.log文件設置正確的所有者/權限。事情是這樣的:

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

(編輯:改變模式,從0744到0644無需設置執行位)

+7

在某些情況下,配置可能在'/ etc/logrotate.d/apache2'中。 – jevon 2013-02-13 04:29:52

+4

但是,如果您編輯'/ etc/logrotate.d/apache2',則下次升級Apache時,您的更改將會丟失。你應該直接修改'logrotate.conf',而不是'include'(這樣你的配置覆蓋)。 – jevon 2013-04-02 00:17:27

+0

@jevon您的命題會產生一個錯誤:'/ var/log/apache2/access.log的重複日誌條目 – GergelyPolonkai 2015-08-10 07:27:41

0

服務器也許另一個應用程序,如logrotate的,正在改變日誌? (聽起來像它,因爲它只發生每週)我不認爲Apache本身負責權限的機會。

開始的好地方是檢查/etc/cron。/*查看是否有任何cron作業正在接觸access.log

祝你好運!

+0

我認爲他想** **設置'access.log'到'777',這樣任何人都可以查看日誌。那麼'744'可能更好,以便其他人不能修改日誌。 – hobbes3 2012-03-05 14:30:00

+1

不,最好找到程序修改日誌的權限,而不是盲目設置權限。如果它是logrotate,那麼它可能會因爲它沒有足夠的權限而中斷。 – Wesley 2012-03-05 14:43:25