前言:
OpenHarmony 上某个进程向samgr注册SA服务,其他进程在与该进程进行IPC通信之前,需要获取该SA服务,SA提供方需要为该SA配置SELinux标签,否则该SA会被SELinux配置为u:object_r:default_service:s0标签,配置访问default_service的策略会被neverallow禁止,本文将介绍如何为新增的SA配置SELinux策略。
一、SELinux简介
SELinux (安全增强式 Linux , Security-Enhanced Linux )是 Linux 的安全组件,包含一组内核修改和用户空间工具,并提供了基于安全策略的强制访问控制机制( Mandatory Access Control ,MAC )。SELinux 已经被添加到各种 Linux 发行版中,其软件架构力图将软件执行与安全策略设计分离。本部件负责对文件、属性、服务等系统资源提供强制访问控制保护。提供neverallow规则限制系统中的高危操作,减少系统安全风险。
访问控制基本流程如下图所示:

1.1 整体架构
1.2 策略目录结构
OpenHarmony SELinux策略文件存放在//base/security/selinux_adapter/sepolicy/ohos_policy路径下,在该目录下按以下规范存放:
├── 子系统
│ └── 部件
│ ├── public
│ │ └── type1.te
│ ├── vendor
│ │ └── type2.te
│ └── system
│ └── type3.te
其中,系统相关策略存放在system目录下,芯片相关策略存放在vendor目录下,系统和芯片共用的策略存放在public目录下。
1.3 通用策略文件
通用策略文件,是指设备开发者进行SELinux策略配置时,涉及修改的文件。
1.4 基础策略文件
基础策略文件,是指SELinux基础框架的SELinux策略文件,一般不涉及修改。
1.5 SELinux模式开关
将镜像烧录到开发板上,开机,通过串口拿到 Shell ,在其中执行:
ls -lZ / # 查看文件标签 ls -lLZ / # 查看link源文件标签 ps -eZ # 查看进程标签 setenforce 1 # 使能selinux强 |


1279

被折叠的 条评论
为什么被折叠?



