RHEL 6.5でSELinux(許可モード)を実行していますが、denied
audit.logに奇妙なエラーが表示されます。推測されるのはnetutils_tプロセスタイプはinitrc_tmp_tタイプとしてマークされたファイルを管理できますが、私の考えではそうではありません。詳細は次のとおりです。
tcpdump
gzipで圧縮されたpcapファイルを実行し、セカンダリドライブ(/ mydriveにマウントされている)に書き込むinitスクリプトがあります。保存されたpcapログファイルのフルパスは/mydrive/Logs/Netlog_です。日付.pcap.gz.
を使用したsemanage
ため、restorecon
/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を開くことができるはずです。