1.涉及文件
device/mediatek/common/sepolicy
android/external/sepolicy
2.特性
(1)file_contexts 给所有的自定义变量(包括文件节点、设备节点、可执行程序)赋了具体的值
(2)device.te 声明了file_contexts中为设备节点的变量
(3)file.te 声明了file_contexts中为文件类型的变量
(4)很多.te文件都是以进程名来命名的
3.demo
3.1 添加一个设备节点的及其读写权限控制
// 1. 自定义 GT9762AF_device为一个device节点
device.te type GT9762AF_device, dev_type;
----------
// 2. 给自定义 GT9762AF_device 变量附上具体的设备节点值
file_contexts /dev/GT9762AF(/.*)? u:object_r: GT9762AF_device :s0
----------
// 3.给需要操作这个节点的进程赋上控制权限
factory.te allow factory GT9762AF_device:chr_file { read write ioctl open };
mediaserver.te allow mediaserver GT9762AF_device:chr_file { read write ioctl open };
meta_tst.te allow meta_tst GT9762AF_device:chr_file { read write ioctl open };
3.2 添加一个可执行程序,并为这个可执行程序添加相关控制权限
(1)在file_contexts中声明这个可执行程序变量
file_contexts system/bin/st480 u:object_r:st480_exec:s0
(2)新添加一个可执行程序的te文件(st480.te),并赋值一些节点的操作权限