embedded-linux - 如何将libselinux添加到openwrt构建系统中?

标签 embedded-linux openwrt busybox selinux libselinux

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

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

最佳答案

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

  • Linux 内核通过 Linux 安全模块 (LSM) 为 SELinux 和 other security modules 提供接口(interface)(这就是您在“本地 Linux 源代码”中看到的内容)。
  • 为了管理 SELinux 及其策略,有一些用户级工具(即您的 github 链接)。
  • SELinux 策略本身是编译后的 .pp 文件,其中包含 .te/if/fc 文件,并且有名为 SELinux Reference Policy Project 的即用型规则。 .
  • 还需要一些其他工具来使用 SELinux,例如 fixfilesrestorecon设置所需的标签。

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

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

关于embedded-linux - 如何将libselinux添加到openwrt构建系统中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717626/

相关文章:

linux - 如何检查/init是否启动/etc/inittab

c++ - 如何在不违反严格的别名规则的情况下访问内存映射的多字节寄存器?

linux-kernel - i2c 探针没有被调用....不知道在哪里调用 i2c_register_board_info

c - 有什么办法可以用我自己的 softirq 调用 linux 内核

linux - linux/proc/tty/drivers 中没有 VT 驱动程序

MySQL - 无法登录 - 访问被拒绝 - 全新安装 (OpenWRT)

lua - 从配置文件中获取字符串值 - LuCI

c - 从 net-snmp C 包运行 snmpget 时出错

linux - 鉴于 -D %s busybox v1.30.1 提示无效日期

linux - 语法错误 : redirection unexpected netcat busybox