如何让cron发送电子邮件附件?

SELinux阻止cron在电子邮件中附加日志文件,并出现以下错误:

注意内核[7148.923034] type = 1400 audit(1359466501.857:5):avc:denied {read} for pid = 3182 comm =“mailx”name =“attachment”dev =“dm-1”ino = 4140 scontext = system_u:system_r :system_mail_t:s0-s0:c0.c1023 tcontext = system_u:object_r:var_log_t:s0 tclass = file

一个bash脚本由cron每小时运行一次,如果它不是空的,就会通过电子邮件发送一个日志文件。 该脚本包含以下行:

echo "" | mailx -s "Critical Message" -a /var/log/attachment [email protected] 

我认为这个问题与文件安全​​上下文有关。 我在某个地方读到,设置公共内容的上下文可能会有所帮助,但不知道这是一个好主意还是有更好的方法。

你有三个select(呃,我现在可以想到的三个select):
1.提交一个bug并等待更新到允许这个的策略包。
2.更改您正在尝试附加的文件的上下文,以便SELinux让它连接。
3.将SElinux置于宽松模式,这样就会logging下它拒绝这个动作的事实,但实际上并没有阻止它的发生。

每个选项都有缺点,有些可能很重要,所以你select的路线将高度依赖于你的环境。