harmony 鸿蒙OpenHarmony SELinux新增进程策略配置方法

  • 2025-06-16
  • 浏览 (3)

OpenHarmony SELinux新增进程策略配置方法

新增Native进程

适用场景

由init、chipset_init通过cfg文件孵化的Native进程,例如ueventd、installs。

配置指导

  1. 在本进程的cfg文件中,新增secon字段,建立进程与标签的映射关系。如果未配置secon字段,进程在SELinux使能状态会被拦截启动。 json { "services" : [{ "name" : "demo", "path" : ["/system/bin/demo"], "uid" : "demo", "gid" : ["demo"], "secon" : "u:r:demo:s0" } ] }

  2. 在type.te中定义SELinux标签u:r:demo:s0中的SELinux类型demo,使u:r:demo:s0是合法的。

    如果demo是由init孵化,则定义:

    type demo, native_system_domain, domain;
    

    如果demo是由chipset_init孵化,则定义:

    type demo, native_chipset_domain, domain;
    

新增SA服务进程

适用场景

由init通过cfg文件孵化的SA服务进程,例如accountmgr、foundation。

配置指导

  1. 在本进程的cfg文件中,新增secon字段,建立进程与标签的映射关系。如果未配置secon字段,进程在SELinux使能状态会被拦截启动。 json { "services" : [{ "name" : "demo", "path" : ["/system/bin/sa_main", "/system/profile/demo.json"], "uid" : "demo", "gid" : ["demo"], "secon" : "u:r:demo:s0" } ] }
  2. 在type.te中定义SELinux标签u:r:demo:s0中的SELinux类型demo,使u:r:demo:s0是合法的。 text type demo, sadomain, domain;

新增HDF服务进程

适用场景

由init、chipset_init通过cfg文件孵化的HDF服务进程,例如wifi_host、camera_host。

配置指导

  1. 在本进程的cfg文件中,新增secon字段,建立进程与标签的映射关系。如果未配置secon字段,进程在SELinux使能状态会被拦截启动。

    {
        "services" : [{
                "name" : "demo",
                "path" : ["/vendor/bin/hdf_devhost", "0", "demo"],
                "uid" : "demo",
                "gid" : ["demo"],
                "secon" : "u:r:demo:s0"
            }
        ]
    }
    
  2. 在type.te中定义SELinux标签u:r:demo:s0中的SELinux类型demo,使u:r:demo:s0是合法的。

    type demo, hdfdomain, domain;
    

新增应用进程

适用场景

由appspawn孵化的系统应用进程,期望以独立标签运行,例如com.ohos.permissionmanager

配置指导

  1. 在sehap_contexts文件中,建立应用APL等级、包名与应用进程标签、数据目录标签的映射关系。这里表示,当安装的应用APL为normal且包名为com.ohos.permissionmanager时,安装的应用数据目录标签会被配置为u:object_r:permissionmanager_hap_data_file:s0,应用运行时的进程标签会被配置为u:r:permissionmanager_hap:s0text apl=normal name=com.ohos.permissionmanager domain=permissionmanager_hap type=permissionmanager_hap_data_file APL说明参考权限等级说明

  2. 在type.te中定义permissionmanager_happermissionmanager_hap_data_file,使u:r:permissionmanager_hap:s0u:object_r:permissionmanager_hap_data_file:s0是合法的。

    type permissionmanager_hap, normal_hap_attr, hap_domain, domain;
    type permissionmanager_hap_data_file, normal_hap_data_file_attr, hap_file_attr, data_file_attr, file_attr;
    

    这里使用APL等级为normal的应用作为示例,其他APL等级的应用参考下表配置:

    表1 APL等级与应用attribute归属对应关系 |APL等级|应用进程attribute归属|应用数据目录attribute归属| |——–|——–|——–| |normal|normal_hap_attr|normal_hap_data_file_attr| |system_basic|system_basic_hap_attr|system_basic_hap_data_file_attr| |system_core|system_core_hap_attr|system_core_hap_data_file_attr|

你可能感兴趣的鸿蒙文章

harmony 鸿蒙子系统开发

harmony 鸿蒙AI框架开发指导

harmony 鸿蒙Neural Network Runtime设备接入指导

harmony 鸿蒙应用特权配置指南

harmony 鸿蒙开发实例

harmony 鸿蒙搭建环境

harmony 鸿蒙开发指导

harmony 鸿蒙概述

harmony 鸿蒙ArkCompiler开发指导

harmony 鸿蒙窗口标题栏定制开发指导(ArkTS)

0  赞