Linux:如何对日志创build的新创build的日志执行特定的权限?

我注意到正在/var/log中创build的邮件日志正在被root(用户和组)所创build和拥有。 我写了一个监视日志的Nagios检查,为了让Nagios用户可以访问它,我给了other组的读取权限,那就是:

 chmod o+r /var/log/maillog 

现在当我想到的时候,这只是一个日志文件,当日志文件被填满时,日志的旋转机制会重命名这个文件并打开一个新文件,但是新的maillog文件将不具有我允许的read right

所以我的问题是,我怎样才能确保日志旋转机制将创build所有新的mailllog文件与Nagios用户的权限?

提前致谢

logrotatecreate选项:

 create mode owner group 

旋转之后(在postrotate脚本运行之前)立即创build日志文件(与刚旋转的日志文件名称相同)。 mode以八进制(与chmod(2)相同)指定日志文件的模式,owner指定将拥有日志文件的用户名,group指定日志文件将属于的组。 任何日志文件属性都可以省略,在这种情况下,新文件的属性将使用与原始日志文件相同的值作为省略属性。 该选项可以使用nocreate选项禁用。

更多信息与man logrotate

像这样使用它:

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

/etc/logrotate.conf/etc/logrotate.conf一个单独的文件中,检查是否没有其他文件已经覆盖了这个文件。 如何configuration取决于你的操作系统(例如,在Ubuntu上,这是在rsyslogconfiguration中处理的)。