Log-Files
Linux:如何對由日誌輪換創建的新創建的日誌強制執行特定權限?
我注意到正在創建的郵件日誌是
/var/log
由 root(使用者和組)創建和擁有的。我編寫了一個 Nagios 檢查來監視日誌,為了允許 Nagios 使用者訪問它,我給了other
組讀取權限,即:chmod o+r /var/log/maillog
現在我想起來,這只是一個日誌文件,當日誌文件被填滿時,日誌輪換機制會重命名這個文件並打開一個新文件,但新
maillog
文件不會有read write
我允許的文件。所以我的問題是,如何確保日誌輪換機制將為 Nagios 使用者創建具有正確權限的所有新 mailllog 文件?
提前致謝
logrotate
有create
選項: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
配置中處理)。