Description]
当您修改了SELinux Policy 配置后,如何快速进行Debug 确认,以便快速确认厘清呢?
 
[Keyword]
android, SELinux, SELinux Policy, SELinux Debug
 
[Solution]
在Android KK 4.4 版本后,Google 有正式有限制的启用SELinux, 来增强android 的安全保护。
KK 版本: 在MTK Solution 中,我们将SELinux Policy 文件存放在三个目录中。
 1). Google 原生目录 alps/external/sepolicy
 2). MTK 配置目录 alps/mediatek/custom/common/sepolicy
 3). 客户配置目录 alps/mediatek/custom/{Project}/sepolicy (默认没有配置)
 在编译时,系统会以文件为单位整合替换,优先级: 客户配置目录 》MTK 配置目录 》 Google 原生目录.
 
L 版本: 将SELinux Policy 文件存放在两个目录。
 1). Google 原生目录 alps/external/sepolicy
 2). MTK 配置目录 alps/device/mediatek/common/sepolicy
 在编译时, 系统会以合并的方式(union), 将MTK 配置目录下的policy 附加到Google 原生的policy 上,而非替换.
 如果在alps/device/mediatek/common/sepolicy 下面新增SELinux Policy file, 需要更新alps/device/mediatek/common/BoardConfig.mk 中的BROAD_SEPOLICY_UNION 增加对应的xxxx.te
 

1). 确认问题是否与SELinux 相关,可以参考FAQ: [SELinux] 如何设置确认selinux 模式?
 
2). 快速编译验证

 在已经编译过的版本上,  首先编译出新的selinux policy, 然后打包boot image.
 KK:  ./mk project_name mm external/sepolicy
          ./mk project_name bootimage
 
 L:
     mmm external/sepolicy
     make -j24 ramdisk-nodeps
     make -j24 bootimage-nodeps
 
 然后再重新刷bootimage 测试.

[相关FAQ]
[FAQ11414] android KK 4.4 版本后,user 版本su 权限严重被限制问题说明
[FAQ11486] 在Kernel Log 中出现"avc: denied" 要如何处理?
[FAQ11485] 权限(Permission denied)问题如何确认是Selinux 约束引起
[FAQ11484] 如何设置确认selinux 模式
GitHub 加速计划 / sel / selinux
150
64
下载
common selinux implementation
最近提交(Master分支:2 个月前 )
1b71cb46 pwalk, pwalkdir: fix walk vs remove race 1 年前
40a1afee Misc nitpicks 1 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐