SELinuxは、特定のファイルコンテキスト()でマークされたファイルシステム内のすべてのファイルをsetools
見つけるために使用する必要があるコマンド(おそらく)に関する情報を見つけることができません。fcontext
今私はできます手動ファイルとそのファイルをfcontext
一覧表示し、表示/etc/selinux/targeted/contexts/files
したい特定のコンテンツを一覧表示しますgrep
。fcontext
[root@FedPadSSD files]# cat file_contexts |grep ifconfig_exec_t
/bin/ip -- system_u:object_r:ifconfig_exec_t:s0
/sbin/ip -- system_u:object_r:ifconfig_exec_t:s0
/sbin/tc -- system_u:object_r:ifconfig_exec_t:s0
/usr/bin/ip -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ip -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/tc -- system_u:object_r:ifconfig_exec_t:s0
/sbin/ethtool -- system_u:object_r:ifconfig_exec_t:s0
/sbin/ifconfig -- system_u:object_r:ifconfig_exec_t:s0
/sbin/iwconfig -- system_u:object_r:ifconfig_exec_t:s0
/sbin/mii-tool -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ethtool -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ifconfig -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/iwconfig -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/mii-tool -- system_u:object_r:ifconfig_exec_t:s0
/sbin/ipx_configure -- system_u:object_r:ifconfig_exec_t:s0
/sbin/ipx_interface -- system_u:object_r:ifconfig_exec_t:s0
/sbin/ipx_internal_net -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ipx_configure -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ipx_interface -- system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ipx_internal_net -- system_u:object_r:ifconfig_exec_t:s0
これを行う際の問題は、ほとんどの場合、何かが間違っている、欠けている、または不完全なように見えることです。手動SELinuxは「データベース」(より良い言葉がない)に関連しているからです。 setools
したがって、システム全体の構成ファイルを使用せずに、これを実行できるパッケージまたは関連パッケージにすでに存在するものがあるかどうか疑問に思います。
答え1
semanage fcontext -l | grep whatever_exec_t
おそらく、特定のコンテキストのタグルールを見つけるための最良の方法でしょう。
タグルールの代わりに現在のファイルコンテキストを取得するには、ls -Z
SELinux対応のfind
サポート-context <glob>
テストと%Z
フォーマット指定子を使用できます-printf
。コンテキスト文字列全体が一致するため、<glob>
ワイルドカードは型を一致させるためにのみ使用されます。私のCentos 7.3の例:
#find / -xdev -type f -context '*ifconfig_exec_t*' -printf '%-50Z%p\n'
system_u:object_r:ifconfig_exec_t:s0 /usr/sbin/ip
unconfined_u:object_r:ifconfig_exec_t:s0 /usr/sbin/ifconfig
system_u:object_r:ifconfig_exec_t:s0 /usr/sbin/ethtool
system_u:object_r:ifconfig_exec_t:s0 /usr/sbin/iw
unconfined_u:object_r:ifconfig_exec_t:s0 /usr/sbin/mii-tool
system_u:object_r:ifconfig_exec_t:s0 /usr/sbin/tc
答え2
配布パッケージのifconfig_selinux
マニュアルページ(Fedoraに含まれている場合)selinux戦略の開発) 次の内容をお知らせします。
The following file types are defined for ifconfig:
ifconfig_exec_t
- Set files with the ifconfig_exec_t type, if you want to transition an
executable to the ifconfig_t domain.
Paths:
/bin/ip, /sbin/ip, /sbin/tc, /usr/bin/ip, /usr/sbin/ip,
/usr/sbin/tc, /sbin/ethtool, /sbin/ifconfig, /sbin/iwconfig,
/sbin/mii-tool, /usr/sbin/ethtool, /usr/sbin/ifconfig,
/usr/sbin/iwconfig, /usr/sbin/mii-tool, /sbin/ipx_configure,
/sbin/ipx_interface, /sbin/ipx_internal_net, /usr/sbin/ipx_config‐
ure, /usr/sbin/ipx_interface, /usr/sbin/ipx_internal_net
ifconfig_exec_tを使用すると、ifconfig_exec_tがsesearch -all -t ifconfig_exec_t
ターゲットとするファイルでどの変換が行われているかを確認できます。これは、コンテキストのあるファイルを見つけるのに役立ちます。
答え3
現在、RHEL7.1では - これは常にそこにあり、逃したかどうかはわかりません。次のコマンドを実行してすべてのファイルコンテキストのリストを取得し、出力を次にパイプすることができますgrep
。
# semanage fcontext -l |grep ifconfig_exec_t
/bin/ip regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/ethtool regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/ifconfig regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/ip regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/ipx_configure regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/ipx_interface regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/ipx_internal_net regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/iw regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/iwconfig regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/mii-tool regular file system_u:object_r:ifconfig_exec_t:s0
/sbin/tc regular file system_u:object_r:ifconfig_exec_t:s0
/usr/bin/ip regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ethtool regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ifconfig regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ip regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ipx_configure regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ipx_interface regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/ipx_internal_net regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/iw regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/iwconfig regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/mii-tool regular file system_u:object_r:ifconfig_exec_t:s0
/usr/sbin/tc regular file system_u:object_r:ifconfig_exec_t:s0
答え4
findコマンドを使用すると、セキュリティコンテキストで検索できます。
たとえば、タイプ "unlabeled_t"のすべてのファイルを検索します。
find / -type f -context *unlabeled_t*
最初の部分である「find/-type f」は、システム内のすべての一般ファイルを検索するように指示します。
"-context *unlabeled_t*" フィルタは、unlabeled_t タイプのすべてのファイルを表示します。最初のユーザー/役割または最後のMLS / MCSコンテキストに興味がないため、開始と終了にワイルドカードを使用する必要があります。