Restorecon 如何处理链接?

Restorecon 如何处理链接?

我注意到这个规则

/usr/sbin/shutdown  --  gen_context(system_u:object_r:shutdown_exec_t,s0)

标签/usr/sbin/shutdown shutdown_exec_t何时/usr/sbin是目录。但当/usr/sbin是 的符号链接binshutdown位于 中时,它不会恢复相同的标签/usr/bin。为什么?如果/usr/sbin是 的符号链接bin,是否有一种简单的方法可以提供应该位于/usr/sbin正确上下文中的文件?

看起来,如果一个 inode 有 2 个硬链接,并且路径具有不同的默认文件上下文,则生成的文件上下文将根据给定的路径而有所不同restorecon。如果我重新标记整个文件系统,它将具有什么上下文?它是确定性的吗?这样做可以吗?这样做好吗?

答案1

restorecon处理符号链接就像它处理文件的方式一样。根据手册页(有点旧,作为起点非常有用):

笔记
Restorecon 不遵循符号链接。

这是在错误报告中观察到的,Bug 825221:restorecon 忽略符号链接的自定义规则,并附有以下相关评论:

稍后(2015 年),在关于在符号链接上使用restorecon的一些问题,史蒂芬·斯莫利评论道

是的,它们解析为不同的 inode(符号链接是 Linux 中它自己的文件/inode,独立于目标)。符号链接SELinux 标签仅控制对符号链接的访问(即取消链接、重命名或读取它的能力),而不控制对其目标的访问(根据目标的标签进行控制)。

所以...除非有进一步的规则,符号链接(大部分)与权限无关目标你所关心的。

相关内容