即使在内核中启用了CONFIG_SECURITY_SELINUX,为什么仍禁用SELinux?

时间:2019-05-03 06:28:04

标签: linux-kernel yocto selinux

我正在使用以下内核配置在Yocto(1.8.1 Fido)中编译带有PREEMPT-RT补丁程序的Linux内核v3.12.61。 /sys/fs/selinux目录已创建,但为空。

CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 
 #CONFIG_SECURITY_SELINUX_DISABLE is not set 
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
 #CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y

无论我启用CONFIG_SECURITY_SELINUX_BOOTPARAM还是将其设置为01,结果仍然相同。

我已经使用OE的meta-selinux层安装了SELinux用户空间工具。我还在SELINUX=permissive中设置了/etc/selinux/config。运行sestatus返回"SELinux status: disabled"。以前,这是我编译旧内核(v3.2)时需要做的所有事情。我在这里想念什么吗?

1 个答案:

答案 0 :(得分:1)

documentation for the meta-selinux layer的一节大致概述了如果要在图像中使用selinux的操作。

出于完整性考虑,我将其粘贴在此处,但是请注意,在此处阅读此状态可能已过时,因此请尽可能参考原始状态。

构建meta-selinux层

  

为了将selinux支持添加到poky版本中,应将此层添加到您的项目bblayers.conf文件中。

     

默认情况下,selinux组件是禁用的。这符合Yocto Project兼容指南,该指南指示仅包含一个层不应更改系统行为。

     

为了使用此层中的组件,必须将'selinux'添加到DISTRO_FEATURES中。除了selinux之外,还应确保同时存在aclxattrpam。例如DISTRO_FEATURES_append = " acl xattr pam selinux"

     

还必须为虚拟/ refpolicy指定首选的提供程序。该层包含的策略只是参考策略,需要针对您的环境进行量身定制。

     

启用refpolicy-mls:例如PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-mls"