OpenHarmony子系统开发 - 安全(十)

OpenHarmony SELinux开发指导(三)

三、OpenHarmony SELinux对外接口说明

概述

SELinux对外提供更新文件或目录SELinux标签的接口。

接口说明

所有接口均为Native C内部接口,仅提供底层能力,不对应用开放。相关接口列表如下:

接口名 接口说明 参数说明
int Restorecon(const char *path); 接口功能 :更新单个文件或者目录的标签,不递归遍历子目录。 返回值:0表示成功,其他返回值表示失败。 path表示绝对路径。
int RestoreconRecurse(const char *path); 接口功能 :单线程更新文件或者目录的标签,递归遍历更新子目录和文件标签。 返回值:0表示成功,其他返回值表示失败。 path表示绝对路径。
int RestoreconRecurseParallel(const char *path, unsigned int nthreads); 接口功能 :多线程更新文件或者目录的标签,递归遍历更新子目录和文件标签。 返回值:0表示成功,其他返回值表示失败。 path表示绝对路径。 nthreads表示线程个数。
int RestoreconRecurseForce(const char *path); 接口功能 :单线程强制更新文件或者目录的标签,递归遍历更新子目录和文件标签。 返回值:0表示成功,其他返回值表示失败。 path表示绝对路径。
int RestoreconFromParentDir(const char *path); 接口功能 :根据当前路径的父目录标签,单线程更新当前路径的标签,递归遍历更新整个目录。 返回值:0表示成功,其他返回值表示失败。 path表示绝对路径。

开发步骤

  1. 编译依赖添加

    复制代码
    external_deps += [ "selinux_adapter:librestorecon" ]
  2. 头文件依赖添加

    复制代码
    #include "policycoreutils.h"
  3. 接口调用

    以Restorecon接口为例:

    复制代码
    // 更新/data路径标签:
    int ret = Restorecon("/data");
相关推荐
jndingxin17 分钟前
OpenCV 的 CUDA 模块中用于将多个单通道的 GpuMat 图像合并成一个多通道的图像 函数cv::cuda::merge
人工智能·opencv·计算机视觉
格林威20 分钟前
Baumer工业相机堡盟工业相机的工业视觉中为什么偏爱“黑白相机”
开发语言·c++·人工智能·数码相机·计算机视觉
灬0灬灬0灬1 小时前
深度学习---常用优化器
人工智能·深度学习
_Itachi__1 小时前
Model.eval() 与 torch.no_grad() PyTorch 中的区别与应用
人工智能·pytorch·python
白光白光2 小时前
大语言模型训练的两个阶段
人工智能·机器学习·语言模型
巷9552 小时前
OpenCV图像金字塔详解:原理、实现与应用
人工智能·opencv·计算机视觉
科技小E2 小时前
WebRTC实时音视频通话技术EasyRTC嵌入式音视频通信SDK,助力智慧物流打造实时高效的物流管理体系
人工智能·音视频
BioRunYiXue2 小时前
一文了解氨基酸的分类、代谢和应用
人工智能·深度学习·算法·机器学习·分类·数据挖掘·代谢组学
IT古董3 小时前
【漫话机器学习系列】255.独立同分布(Independent and Identically Distributed,简称 IID)
人工智能·机器学习
fytianlan3 小时前
机器学习 day6 -线性回归练习
人工智能·机器学习·线性回归