• 适用场景

selinux作为OpenHarmony的一个非常重要的安全模块,当selinux开启时,开发任何功能都需要单独添加相应的selinux规则,否则很多操作都会被系统拦截。然而有的功能是某些产品特有的,如果把这些功能需要配置的selinux规则放在公共目录下,显然是有些不妥的,更好的方案是将这些规则放到对应的产品目录下,这时就需要指定selinux规则的自定义搜索路径。

  • 路径指定方法

通过设置selinux_adapter部件的selinux_adapter_build_path特性来指定,例如可以在产品的config.json文件中这样定义:

  • 原理分析

首先要了解selinux的策略文件是怎样生成的,在base/security/selinux_adapter/BUILD.gn中看到

这表明生成策略文件的过程就是遍历sepolicy及selinux_adapter_build_path下的文件。

sepolicy是selinux_adapter部件的策略目录,那selinux_adapter_build_path又是什么呢?

selinux_adapter_build_path是selinux_adapter部件的一个特性:

因此,我们要指定selinux策略的扫描路径,只需要指定selinux_adapter_build_path就可以了。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐