配套系列教学视频链接:
说明
系统: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}
基本语法对应的文件结构如下:


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

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



