SELinux app权限配置
来源:互联网 发布:域名要不要云解析 编辑:程序博客网 时间:2024/05/21 22:13
转自 http://blog.csdn.net/zhudaozhuan/article/details/50964832
1.SEAndroid app分类
SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型):
1)untrusted_app 第三方app,没有Android平台签名,没有system权限
2)platform_app 有android平台签名,没有system权限
3)system_app 有android平台签名和system权限
从上面划分,权限等级,理论上:untrusted_app < platform_app < system_app
2.seapp_contexts定义
external\sepolicy\seapp_contexts
从上面可以看出,domain和type由user和seinfo两个参数决定。
比如:
user=system seinfo=platform,domain才是system_app
user=_app,可以是untrusted_app或platform_app,如果seinfo=platform,则是platform_app。
3.user和seinfo判定方式
首先看user,user可以理解为UID,例如ps -Z结果如下:
第一列是SContext,第二列是UID,只要UID是system的基本都是system_app,反过来一样。
其他的U0_XXX要么属于platform_app或untrusted_app
seinfo由external\sepolicy\mac_permissions.xml决定,内容如下:
即如果签名是platform,seinfo就是platform,其他的比如shared等,seinfo是default。
比如上面ps -Z的结果里面,OneTimeInitializer.apk是untrusted_app,ManagedProvisioning.apk是platform_app。
分别查看这两个app的Android.mk
packages\apps\OneTimeInitializer\Android.mk 没有定义LOCAL_CERTIFICATE,默认是shared
packages\apps\ManagedProvisioning\Android.mk 有定义LOCAL_CERTIFICATE := platform
因为ManagedProvisioning.apk有platform签名,所以seinfo是platform。
TvSettings是system_app,查看对应的参数:
packages\apps\TvSettings\Settings\Android.mk 有定义LOCAL_CERTIFICATE := platform
packages\apps\TvSettings\Settings\AndroidManifest.xml 有定义android:sharedUserId="android.uid.system"
TvSettings user是system,seinfo是platform,所以是system_app
packages\apps\ManagedProvisioning\AndroidManifest.xml 没有定义android:sharedUserId="android.uid.system"
所以ManagedProvisioning虽然seinfo是platform,但是user不是system,因此只是platform_app,而不是system_app。
4.app对应的te文件
总结:
- SELinux app权限配置
- SELinux app权限配置
- SELinux app权限配置
- SELinux app权限配置
- SELinux app权限配置
- SELinux app权限配置
- SELinux app权限配置 android6.0 新特性
- App添加Selinux权限问题
- selinux配置
- SElinux配置
- SELinux配置
- 配置SeLinux
- selinux android 权限测试
- SELinux 权限设置
- SELinux: capabilites{dac_override} 权限
- selinux权限快速解决
- SELinux 权限问题
- selinux 权限设置
- 关于ftp的主动模式(Active Mode)和被动模式(Passive Mode)
- Unable to load configuration.
- 二分图中对最小顶点覆盖、最小边覆盖、最大独立集的理解
- postgresql9.5主从hot_standby模式配置
- iOS中的translucent和automaticallyAdjustsScrollViewInsets用法
- SELinux app权限配置
- sap SLD和solution manger 的联系
- jquery操作radio和checkbox
- Web界面检查点和测试原则
- NSUserDefaults
- 动态申请权限允许后fragment崩溃
- 学生管理系统
- Spring Cloud入门三- Zuul作api-gateway
- python-安装pip以及setuptools