Log-Files

Linux:如何對由日誌輪換創建的新創建的日誌強制執行特定權限?

  • December 7, 2018

我注意到正在創建的郵件日誌是/var/log由 root(使用者和組)創建和擁有的。我編寫了一個 Nagios 檢查來監視日誌,為了允許 Nagios 使用者訪問它,我給了other組讀取權限,即:

chmod o+r /var/log/maillog

現在我想起來,這只是一個日誌文件,當日誌文件被填滿時,日誌輪換機制會重命名這個文件並打開一個新文件,但新maillog文件不會有read write我允許的文件。

所以我的問題是,如何確保日誌輪換機制將為 Nagios 使用者創建具有正確權限的所有新 mailllog 文件?

提前致謝

logrotatecreate選項:

create mode owner group

旋轉後(執行 postrotate 腳本之前)立即創建日誌文件(與剛剛旋轉的日誌文件同名)。 mode以八進制指定日誌文件的模式(與 chmod(2) 相同),所有者指定將擁有日誌文件的使用者名,組指定日誌文件將屬於的組。可以省略任何日誌文件屬性,在這種情況下,新文件的這些屬性將使用與原始日誌文件相同的值作為省略的屬性。可以使用 nocreate 選項禁用此選項。

更多資訊man logrotate

像這樣使用它:

/var/log/maillog {
....
       create 664 user group
....
}

/etc/logrotate.conf或單獨的文件中,/etc/logrotate.d並檢查是否沒有其他文件已經覆蓋它。如何配置取決於您的作業系統(例如,在 Ubuntu 上,這在rsyslog配置中處理)。

引用自:https://serverfault.com/questions/655215