如何确定是否可用以及哪个 linux 安全模块 (LSM) 可用?

hum*_*ace 7 virtual-machine system-information lsm

有没有办法找出内核是否以及在情况下使用哪个 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。

更新2

我发现了路径/sys/kernel/security。也许这有助于找到答案?

小智 5

是的,您可以检查/sys/kernel/security可用的内容。

另请参阅 dmesg 或/proc/cmdline引导设置。

如果你config.gz有空的话

zgrep CONFIG_SECURITY /proc/config.gz
Run Code Online (Sandbox Code Playgroud)

别的

grep CONFIG_SECURITY /boot/config-`uname -r`
Run Code Online (Sandbox Code Playgroud)