有没有办法找出内核是否以及在情况下使用哪个 linux 安全 LSM(apparmor、selinux、grsecurity)?
更具体地说,让我们假设我是机器的合法 root 用户?
如果还有可用的信息,最好进一步了解:关于这个问题,将机器视为 (a) 本地计算机、(b) 专用服务器和 (c) 虚拟服务器“vServer”是否有区别?
我知道我可以例如安装用户空间的东西(例如在 debian 上apt-get install apparmor
)并检查它是否产生与特定 LSM 相关的结果。所以我可以为 apparmor 做,
sudo apparmor_status
然后例如 yield:
apparmor module is not loaded.
这有助于我排除该选项。然而,我正在寻找一种更通用的方法,涵盖大多数/所有 LSM。
我发现了路径/sys/kernel/security
。也许这有助于找到答案?
我正在阅读一些关于 LSM 实现的入门,所以最终我会深入研究AppArmor
和SELinux
.
我知道这个讨论,但这并没有说明我对这两个 LSM 实现的一个问题:
事实是否如此:
auto-relabeling
首次启动的过程与文件系统扫描所需的时间一样长)(?)