如何查找/列出文件系统上具有特定 SELinux“fcontext”的所有文件

ILM*_*o_7 3 find selinux files

我无法找到关于什么命令的信息,大概是来自setools,我应该使用它来查找文件系统上由 SELinux 标记为特定文件上下文 ( 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
Run Code Online (Sandbox Code Playgroud)

问题在于,大多数时候,当您手动执行此操作时,似乎会出现一些错误或缺失/不完整的情况,因为它与 SELinux“数据库”相关(因为缺乏更好的词)。 因此,我想知道setools包或相关包中是否已经存在某些东西,可以实现此目的,而不必费心处理系统范围的配置文件。

Evg*_*nZh 5

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
Run Code Online (Sandbox Code Playgroud)