Log (/var/log/apache2) 的資料夾權限變更,造成 Logrotate 的時候無法 rotation,錯誤訊息如下:
error: skipping "/var/log/apache2/access.log" because parent directory has insecure permissions (It's world writable or writable by group which is not "root") Set "su" directive in config file to tell logrotate which user/group should be used for rotation.
要如何修正此問題呢?
註:Logrotate 的權限一定是夠,所以不是權限不夠的問題。
目錄權限修改造成 Logrotate rotate 失敗的修復步驟
Apache 的 Log (/var/log/apache2) 因為某些需求,所以需要改成此權限:www-data:adm,造成 Logrotate 執行後,所有 Log rotate 都失敗。
修正方式
- 於 logrotate 的設定檔最下方,加上 "su root adm" (原先的權限是 root:adm)即可。
修復步驟
- vim /etc/logrotate.d/apache2
/var/log/apache2/*.log { daily compress .... #create 644 root adm create 644 www-data adm ..... su root adm # 加上此行 }
- 修改完成後,手動執行 logrotate 測試:sudo logrotate -f /etc/logrotate.d/apache2