L上自定义一个属性,如何开启这个属性的写的权限

android L(5.0) 以及以后的版本: 
Google 删除了permission table, 而是直接通过SELinux 来限制SELinux 的添加与修改.
对于"ro." 开头的系统属性,如果原本已经存在,则无法修改,所谓"read only", 即最多写一次。
对于一个 "xxx.yyy.zzz" 的系统属性("ro.xxx.yyy.zzz" 当作 "xxx.yyy.zzz" 看待),

(2.0) 首先到external/sepolicy/property_contexts , device/mediatek/common/sepolicy/property_contexts 查看是否有绑定它或者它的前缀(如 xxx.yyy.zzz, xxx.yyy, xxx.yyy., xxx.,xxx 等) 的SELinux Context, 如果有, 则忽略掉(2.1), (2.2) 这两步.

(2.1) 在device/mediatek/common/sepolicy/property.te 中 定义这个系统属性 "xxx.yyy.zzz" 的SELinux Context.
 type xxx_yyy_zzz_prop, property_type;
 
(2.2) 在device/mediatek/common/sepolicy/property_contexts 中 绑定这个系统属性所对应的SELinux Context.
 xxx.yyy.zzz xxx_yyy_zzz_prop;

(2.3) 在对应的Process(假设为demo)在device/mediatek/common/sepolicy/demo.te 中新增
   unix_socket_connect(demo,property,init);
   allow demo xxx_yyy_zzz_prop:property_service set;
   
同样Google 严禁普通的app (untrusted app)增加和修改system property.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值