如何允许 cron 发送电子邮件附件?

如何允许 cron 发送电子邮件附件?

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

通知内核 [7148.923034] type=1400 审计(1359466501.857:5):avc:拒绝 { 读取 } 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

cron 每小时运行一个 bash 脚本,如果日志文件不为空,则通过电子邮件发送该文件。该脚本包含以下行:

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

我认为问题与文件安全​​上下文有关。我读到过将上下文设置为公共内容可能会有所帮助,但不确定这是否是个好主意,或者是否有更好的方法。

答案1

您有三个选项(嗯,我现在能想到的三个):
1. 提交错误并等待允许这样做的策略包更新。2
. 更改您尝试附加的文件的上下文,以便 SELinux 允许它附加。3
. 将 SElinux 置于宽容模式,这样它将记录它想要拒绝此操作的事实,但实际上不会阻止它发生。

每个选项都有缺点,有些缺点可能很严重,因此您选择的路线将高度依赖于您的环境。

相关内容