netutils_t 无法打开 initrc_tmp_t 文件

netutils_t 无法打开 initrc_tmp_t 文件

我在 RHEL 6.5 上运行 SELinux(在宽容模式下),并denied在audit.log 中看到一个奇怪的错误。据推测,netutils_t进程类型可以管理标有 initrc_tmp_t 类型的文件,但对我来说似乎并非如此。详细信息如下。

我有一个初始化脚本,它将运行tcpdump并将 gzip 压缩的 pcap 文件写入辅助驱动器(安装到 /mydrive)。存储的pcap日志文件的完整路径是/mydrive/Logs/Netlog_日期.pcap.gz。

我使用了semanagerestorecon因此 /mydrive/Logs/ 中的任何新文件都标有 initrc_tmp_t:

semanage fcontext --add --type initrc_tmp_t "/mydrive/Logs(/.*)?"
restorecon -r -v /mydrive/Logs

ls -Z显示在后续启动时,由我的脚本创建的 /mydrive/Logs 中的新 pcap.gz 文件将按预期标记为 initrc_tmp_t 。

然而,audit.log 文件显示了denied一些抱怨:

type=AVC msg=audit(1469228718.525:138): avc:  denied  { open } for  pid=1535 comm="tcpdump" name="Netlog_07-22-2016_23-05-18.pcap.gz" dev=sdb1 ino=12845323 scontext=system_u:system_r:netutils_t:s0 tcontext=system_u:object_r:initrc_tmp_t:s0 tclass=file

audit2why显示:

Missing type enforcement (TE) allow rule.

audit2allow显示:

#============= netutils_t =============
allow netutils_t initrc_tmp_t:file open;

知道为什么会这样吗?根据手册页,netutils_t 应该已经能够打开 initrc_tmp_t

相关内容