Android系统10 RK3399 init进程启动(二十六) Selinux TE文件和语法

本文详细解读Android 10.0的TypeEnforce文件,涉及规则名、源类型、目标类型、object_class和perm_set等关键概念,教你理解并编写系统权限策略。通过实例演示如何设置adbd域的文件访问权限,适合初学者和高级开发者深入理解Android ROM定制。

配套系列教学视频链接:

      安卓系列教程之ROM系统开发-百问100ask

说明

系统:Android10.0

设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)

前言

te文件:Type Enforce文件, 该文件主要完成策略的制定, 文件中有非常多的语句, 我们需要基本掌握和理解其中的语法和语义,这样才能有利于我们进行开发。


一, 框图

上图是整个框图, 具体意思,请参考视频教程和之前的文章, 上面打星的地方就是本章节重点介绍的。

二,初识基本语法

Te文件中一般经常出现如下语句: 在system/sepolicy/private/adbd.te文件中

# adb pull /data/anr/traces.txt

allow adbd anr_data_file:dir r_dir_perms;

allow adbd anr_data_file:file r_file_perms;

以上意思:

允许adbd域(domain), 对安全上下文为anr_data_file的目录(dir)有读目录权限

允许adbd域(domain), 对安全上下文为anr_data_file的文件(file)有读文件权限

完整的allow相关的语句格式为:

rule_name source_type target_type :object_class perm_set

描述:

rule_name:规则名,分别有allow,dontaudit,auditallow,neverallow等

source_type:源类型,主要作用是用来填写一个域(domain),一般都是一个进程, 也叫做scotonext

target_type:目标的类型,一般都是客体的上下文标签,当然进程也是可以做为客体,比如一个进程给另外一个进程发送信号,获取另外一个进程pid等,

object_class:类别,目标(客体)是哪种类别,主要有file,dir,socket, process, SEAndroid还有binder等,在这些基础上又细分出设备字符类型(chr_file),链接文件(lnk_file)等。

perm_set:权限集合, 如read, write等。

更加复杂的格式为:

rule_name {source_type1 source_type2 ...}  { target_type1 target_type2 ... } :object_class  {perm_set}

基本语法对应的文件结构如下:

三 ​​​​​​,rule_name&

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旗浩QH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值