android为APK新建SELINUX权限域seapp_contexts
背景:
SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型):
1)untrusted_app 第三方app,没有Android平台签名,没有system权限;
2)platform_app 有Android平台签名,没有system权限;
3)system_app 有android平台签名和system权限。
当APP需要做一些系统或系统设备相关的访问读写,新加的权限会跟android内置的neverallow规则冲突,从而造成编译不过。解决方法是为应用新建一个域,添加自定义规则,绕开编译问题。
新建方法:
1,在device/[product]/sepolicy/seapp_contexts 添加上APK的域定义:
user=system seinfo=platform name=com.fiill.fiillplayer domain=fiillplayer_app type=fiillplayer_app_data_file
user=_app,可以是untrusted_app或platform_app,如果seinfo=platform,则是platform_app。根据需要添加。
2,在/device/[product]/sepolicy/vendor/file.te加上
type fiillplayer_app_data_file, file_type, data_file_type ,core_data_file_type ;
3,新建/device/[product]/sepolicy/vendor/fiillplayer_app.te,部分内容参考:
type fiillplayer_app, domain;
app_domain(fiillplayer_app)
binder_use(fiillplayer_app)allow fiillplayer_app system_app_data_file:file create_file_perms;
allow fiillplayer_app system_app_data_file:dir create_dir_perms;
allow fiillplayer_app system_data_file:dir r_dir_perms;
allow fiillplayer_app system_data_file:file r_file_perms;#prop
allow fiillplayer_app hwservicemanager_prop:file { read getattr map open };
get_prop(fiillplayer_app, hwservicemanager_prop)
set_prop(fiillplayer_app, hwservicemanager_prop)
至此已经完成。注意,由于uid设置为system,所以权限有时候需要在system_app配置。如果想独立于system_app,试试user=_app。
android为APK新建SELINUX权限域seapp_contexts相关推荐
- android superuser.apk 管理root权限原理分析
原文出处:http://blog.163.com/szs121@126/blog/static/109056781201223111390835/ 使用android 手机很多情况下需要root权限, ...
- Android 10 如何关闭selinux权限
由于应用层访问设备节点的时候,因为selinux权限问题而访问不了,所以就先关闭selinux 代码路径: system/core/init/selinux.cpp 1.在/selinux.cpp文件 ...
- Android 10.0关闭selinux权限
在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有"万能的root权限",也不能获取全部的权限,所以怎么样关闭selinux权限呢 system/core/in ...
- [Android]开机自启动脚本和selinux权限配置
概述 在前段时间的工作中,需要开发一个开机自动启动的脚本,现把开发过程记录一下 主要框架 编写一个可以开机自动启动的脚本,方法就是通过rc文件,在boot_complete=1时,去启动这个服务,那么 ...
- Android 系统(67)---android apk 的root 权限和USB adb 权限的区别
android apk 的root 权限和USB adb 权限的区别 USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权 ...
- Android系统APK操作GPIO读写及添加权限
需求描述 上层APK操作GPIO的diretction.value节点,实现点亮和熄灭灯,使用JNI方式,使用以下方式无效 extern "C" JNIEXPORT jint JN ...
- android 版本权限差别,android apk 的root 权限和USB adb 权限的区别
USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权限,通常如果adb shell 看到是: Android 4.0 以后 ...
- Android Selinux权限问题
1.1:log提示: type=1400 audit(1262304982.420:57113): avc: denied { sys_ptrace } for pid=1 comm="in ...
- Android 11.0 无源码apk授予QUERY_ALL_PACKAGES权限
目录 1.概述 2.Android 11.0 无源码apk授予QUERY_ALL_PACKAGES权限的核心类 3.Android 11.0 无源码apk授予QUERY_ALL_
- Android中SeLinux权限 .te文件编写
在android中添加一个LocalSocket通信,权限部分折腾了好几天,终于搞定了. 首先在root权限下使用setenforce 0命令放开selinux权限,看看需要的操作是否能成功.如果可以 ...
最新文章
- NIPS 2017录用论文先睹为快!论文作者清华专场分享(附PPT下载)
- 12/12 day06
- Java设计模式(一):单例模式
- Tomcat服务器与Eclipse的关联配置
- 数据库-优化-groupby的优化
- 4)机器学习基石笔记 Lecture4:Feasibility of Learning
- 03-04 元素定位工具
- mongoimport csv文件
- 深度学习pytorch基础入门教程(1小时)-张量、操作、转换
- Windows10安装ubuntu18.04双系统教程(双硬盘)
- VSS 获取全部子文件
- 4个C++算法数学模板(备战蓝桥杯)
- Ubuntu下ASIC/FPGA环境搭建
- 一周疫情对行业影响观察 | 中国资产或成避险资产;亚太旅游零售业呼吁政府财政支持...
- 微信小程序简单介绍及例子,小白可看
- Ubuntu16 网卡rtl8723be 驱动安装
- laravel获取最后一条
- Word目录中自动添加自定义样式的多级标题的方法
- MBA关注:创始人CEO该拿多少工资?
- Autowired注解起什么作用呢?
热门文章
- linux之调试触摸屏驱动
- 安卓bochs安装linux教程,Ubuntu环境下安装Bochs
- cisco 交换机 定期 自动 备份配置 -linux,cisco 交换机自动备份配置
- 傅里叶变换1 ~ 离散时间傅里叶变换(DTFT)
- rtmp协议java实现_RTMP 协议的一个 Java 实现:Flazr
- 【实验技术笔记】细胞表型检测之细胞增殖(CCK-8法 + BrdU掺入法 + 平板克隆)
- 游戏开发入门终极指南(技术资源大合集)
- SEFS安全透明加密内核
- Spring 集成教程
- 施耐德 m340 编程手册_施耐德推出开放自动化平台,开启“软件驱动自动化”时代...