Android SELinux开发入门指南之如何增加Java Binder Service权限

  Android SELinux开发入门指南之如何增加Java Binder Service权限



前言

  Android的妈咪谷歌为了解决Android系统一直让人诟病的安全问题,在Android 4.4以后强制引入了SELinux安全管理。SELinux虽然可以将安全提升一个层级,但是有时候的实际效果确实杀敌一千,自损八百给开开发造成许多的困难。Android Binder的重要性,这个无需多言了。在前面的篇章Android SELinux开发入门指南之如何增加Native Binder Service权限,我们讲解了怎么添加Native Binder Service权限,那么本篇章中我将会讲解怎么添加Java Binder Service权限。
在这里插入图片描述
注意:这里的实际操作是在Android 8版本上面进行的。



正式开干

上述就以E/SELinux ( 261): avc: denied { add } for service=PaxSystemUtil scontext=u:r:system_app:s0 tcontext=u:object_r:default_android_service:s0 tclass=service_manager,这个错误主要是添加ServiceManager添加Native Service没有配置SELinux权限导致,由于现在SELinux的启用是在展讯平台,所以这里就以以展讯平台来说明,步骤如下:

1.vi编辑device/sprd/sharkle/common/plat_sepolicy/private/service_contexts在其最后添加如下规则:


#add for PaxSystemUtilPaxSystemUtil  
u:object_r:PaxSystemUtil_service:s0


2.vi编辑device/sprd/sharkle/common/plat_sepolicy/public/service.te在其最后添加如下规则:


#type for PaxSystemUtiltype 
PaxSystemUtil_service, service_manager_type;


3.vi编辑device/sprd/sharkle/common/sepolicy/system_server.te在其最后添加如下规则:


#add for PaxSystemUtil 
allow system_server PaxSystemUtil_service:service_manager { add find };


4.vi编辑device/sprd/sharkle/common/sepolicy/platform_app.te在其最后添加如下规则:


#add for PaxSystemUtil
allow platform_app PaxSystemUtil_service:service_manager { find };


5.最后根据在使用中报什么avc的错误,然后再按照规则添加相关规则,即将上述改动添加完成以后,编译vendorimage,然后烧录启动测试,根据logcat -b evnets | grep avc查看还有什么没有SELinux权限问题的。



结语

修行至此,恭喜读者你已经开启了Android SELinux开发入门指南之如何增加Java Binder Service权限征程,此时的你对于添加Java Binder Service已经是了然于心了,畅通无阻,来去无踪影了。此时的你可以一剑走天下了,为师的必杀器已经倾囊相授了。各位江湖见。



写在最后

  各位读者看官朋友们,Android SELinux开发入门指南之如何增加Java Binder Service权限问题已经全部完毕,希望能吸引你,激活发你的学习欲望和斗志。在最后麻烦读者朋友们如果本篇对你有帮助,关注和点赞一下,当然如果有错误和不足的地方也可以拍砖。

发布了101 篇原创文章 · 获赞 104 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/tkwxty/article/details/104357137