This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux:支持 SELinux 的 BeagleBone (AM335x)

Guru**** 2611705 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/582695/linux-beaglebone-am335x-enabling-selinux

工具/软件:Linux

大家好、我目前正在尝试在 TI SDK 版本1构建的内核中启用 SELinux。 我已经完成并在.config 文件中启用了 SELinux 标志。

CONFIG_SECURITY_SELinux=y
CONFIG_SECURITY_SELinux_BOOTPARAM=y
CONFIG_SECURITY_SELinux_BOOTPARAM_Value=1
CONFIG_SECURITY_SELinux_disable=y
CONFIG_SECURITY_SELINUX_DEV_y
CONFIG_SECURITY_SELinux_AVC 统计数据=y
CONFIG_SECURITY_SELinux_CHECKREQPROT_Value=1
CONFIG_DEFAULT_SECURITY_SELinux=y

但是、当我将该 zImage 复制到根 FS 并启动系统时、我在任何日志中都看不到 SELinux、并且所有 SELinux 二进制文件都不存在。 我的直觉告诉我、我需要通过引导参数启用 SELinux、还需要为 SELinux 设置文件系统(配置文件等)。

如果有人对此问题有任何意见,我将不胜感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Justin、

    我们在 Linux 内核文档中提供了有关 SELinux 的信息。 例如、在最新的 AM335x TI PSDK 3.2中、它位于:

    Linux-4.4.3.32/Documentation/security/SELinux.txt
    Linux-4.4.3.32/Documentation/security/keys.txt
    Linux-4.4.4.32/Documentation/kernel-parameters.txt

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的系统上是否启用了 SELinux?

    要了解系统上是否启用了 SELinux,您可以运行 sestatus。 如果 SELinux 状态显示正在强制执行、则说明 SELinux 正在保护您。 如果显示“允许 SELinux 已启用但不能保护您”,则表示已完全禁用。

    如何知道 SELinux 是否已打开?

    如果您使用 Red Hat Enterprise Linux 或 Fedora,则默认情况下会启用它。 要查看它是否正在主动执行策略,您可以运行 getenforced:

    [root@localhost ~]# getenforce
    强制执行

    如果显示"强制(如上所述)"、则说明您的系统受到 SELinux 的保护。 如果显示允许 SELinux 已启用、但仅记录失败的访问、而不拒绝访问。 如果显示"Disabled"(已禁用),则表明系统上未启用 SELinux。


    selinuxproject.org/.../FAQ
    selinuxproject.org/.../NewUsers
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回复。 我目前正在使用 TI SDK 构建内核(主要是 Yocto)。 我为内核启用编译器标志以支持 SELinux、但在 TI SDK 之外安装的文件系统不包含任何 SELinux 二进制文件。 是否有办法通过 opkg 安装 SELinux 二进制文件? 我在任何引导日志消息(dmesg)或/var/log/message.中也没有看到 SELinux 除了在内核构建过程中启用 SELinux 支持之外、我还需要执行其他步骤吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Justin Loundagin"]但在 TI SDK 之外安装的文件系统不包含任何 SELinux 二进制文件。

    您是指 ti-processor-sdk-linux-am335x-evm-03.02.00.05/filesystem /tisdk-rootfs-image-am335x-evm?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    为了进一步说明、我已经在 构建内核时将编译器标志(如文章1中所示)设置为"y"。 我在复杂过程中看到 SELinux.o 与内核中的所有其他内容一起成功构建;但是、当我启动新构建的内核时、我看不到 SELinux 的任何迹象。 我甚至没有'ls'的-Z 选项。

    我认为正在发生的情况是、TI SDK 提供了一个不支持 SELinux 的标准文件系统、但我能够运行支持 SELinux 的内核。

    我是否能够简单地安装在 我的 sdcard 上支持 SELinux 的其他文件系统以及 TI Arago 内核?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以重新构建文件系统、从而在其中添加额外的软件包。 有关详细信息、请参阅以下链接:

    processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK
    www.ti.com/.../spry230.pdf

    此致、
    帕维尔