绕过selinux权限一种方法
2017-10-23 11:06
2767 查看
问题:在Android应用中删除一些敏感的文件夹会有权限问题,但是按照下面更改之后CTS认证会Fail。
思路:
依据一:init.rc中service的启动流程绝对不会有权限问题
依据二:删除操作可以用rm -rf等shell命令操作
需求:删除操作要求重启后生效
想法:
把需要执行的命令写在shell脚本中,作为service嵌到init.rc文件中。通过判断自定义属性值决定是否执行,而这个属性值可以在应用中设置。
部分代码如下:
init.kane.rc
cleansettingsdata.sh
device.mk
下面两个文件是对属性进行进一步设置用的,可以不加。
property_contexts
factory.te
allow system_app system_app_data_file:file execute; allow system_app system_data_file:dir write;
思路:
依据一:init.rc中service的启动流程绝对不会有权限问题
依据二:删除操作可以用rm -rf等shell命令操作
需求:删除操作要求重启后生效
想法:
把需要执行的命令写在shell脚本中,作为service嵌到init.rc文件中。通过判断自定义属性值决定是否执行,而这个属性值可以在应用中设置。
部分代码如下:
init.kane.rc
... # 开机程序判断属性值,执行脚本 service deldata /cleansettingsdata.sh class main user root group root disabled oneshot on property:factory.deldata=1 start deldata ...
cleansettingsdata.sh
# 删除脚本示例 rm -rf /data/system/usr/0
device.mk
... # 导入脚本 PRODUCT_COPY_FILES += $(DEVICE_FOLDER)/cleansettingsdata.sh:root/cleansettingsdata.sh ...
下面两个文件是对属性进行进一步设置用的,可以不加。
property_contexts
... # 给属性打标签 factory.deldata u:object_r:factory_deldata_prop:s0 ...
factory.te
... # 定义类型,用于设置这个属性的权限 type factory_deldata_prop,property_type; ...
相关文章推荐
- 一种简单方便的用户权限管理方法--使用菜单来管理用户权限
- B/S系统权限控制的一种简单方法
- 一种简单方便的用户权限管理方法--使用菜单来管理用户权限(下)
- Delphi 一种简单的二进制校验方法,适用于简单的权限管理或开关控制
- 绕过 KIS 7 防火墙的一种简单方法
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
- 简洁常用权限系统的设计与实现(七):一种错误的不可行的构造树的方法
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法
- 简洁常用权限系统的设计与实现(七):一种错误的不可行的构造树的方法
- 简洁常用权限系统的设计与实现(七):一种错误的不可行的构造树的方法
- B/S系统权限控制的一种简单方法(转)
- 一种基于annotation的Spring-mvc权限控制方法
- VS2013 IIS Express没有权限访问元数据库的一种解决方法
- 简洁常用权限系统的设计与实现(七):一种错误的不可行的构造树的方法
- 一种基于注解的Spring MVC权限控制方法
- 利用Treeview做权限树的一种方法
- 利用Treeview做权限树的一种方法
- 一种基于annotation的Spring-mvc权限控制方法
- Android6.0 selinux没有对某个文件的权限(又neverAllow)处理方法