2

我正在构建一个支持 selinux 的 openwrt 系统。首先我遇到了在busybox编译过程中找不到的bug。然后我知道需要一个 libselinux 库来构建支持 selinux 的busybox。由于我对 openwrt Makefile 不是很熟悉,我想知道如何在其中添加一个库?有指南吗?此外,我真的发现 selinux github(https://github.com/SELinuxProject/selinux)中的代码与我在 openwrt 的本地 linux 源代码中找到的代码(“/linux/security/selinux /*”)。为什么?我知道 linux2.6 已经支持 selinux。但似乎我仍然必须将 selinux 移植到我自己的 linux 上?

这个问题困扰了我很久。任何软帮助将不胜感激,谢谢!

4

1 回答 1

2

我只知道 Debian 上的 SELinux,但既然你混合了不同的东西,我会回答“为什么?” 部分:

  • Linux 内核通过 Linux 安全模块 (LSM) 为 SELinux 和 其他安全模块(即您在“本地 linux 源”中看到的)提供接口。
  • 要管理 SELinux 及其策略,有一些用户空间工具(即您的 github 链接)。
  • SELinux 策略本身是编译的 .pp 文件,其中包含 .te/if/fc 文件,并且有称为SELinux Reference Policy Project的即用型规则。
  • 还需要更多工具来使用 SELinuxfixfilesrestorecon设置所需的标签。

要检查 SELinux 是否已启用,请尝试使用该命令id -Z,但如果您看到错误消息,则 LSM SELinux 未激活。我想可以用 openwrt 激活它,因为它是busybox/config/selinux的一部分,所以你可以试试这个命令sestatus看看它是否被启用。

在 Debian 上,可以执行touch /.autorelabel并重新启动以强制重新标记系统。

于 2015-07-30T15:58:11.003 回答