Android 在 SElinux下 如何获得对一个内核节点的访问权限
来源:互联网 发布:安利君软件如何推广 编辑:程序博客网 时间:2024/05/29 04:09
转自http://blog.csdn.net/wh_19910525/article/details/45170755
Android 5.0下,因为采取了SEAndroid/SElinux的安全机制,即使拥有root权限,或者对某内核节点设置为777的权限,仍然无法在JNI层访问。
本文将以用户自定义的内核节点/dev/wf_bt为例,手把手教会读者如何在JNI层获得对该节点的访问权限。
第一步:找到需要访问该内核节点的进程(process),笔者自己这个节点由system_server进程来访问
第二步:打开文件AndroidL/android/external/sepolicy/file_contexts.be
仿照这个文件里的写法,为你的节点定义一个你想要的名字:
wf_bt_device是自定义,其他左右两边的内容都和上面的范例一致。
第三步:打开文件AndroidL/android/external/sepolicy/device.te
仿照这个文件里的写法,将刚刚第二步写的wf_bt_device声明为dev_type:
第四步:
AndroidL/android/external/sepolicy/目录下很多.te文件都是以进程名来结尾的,比如有针对surfaceflinger进程的surfaceflinger,有针对vold进程的vold.te,
刚刚从第一步得到,这个节点是由system_server进程来访问,所以,我们找到system_server.te打开,加入允许这个进程对/dev/wf_bt的读写权限,
这句话的意思是:允许system_server进程拥有对wf_bt_device的这个字符设备的读写权限。
改了这些之后,你就可以make installclean;make -j16编译image来验证权限是否获取成功。
fd =open("/dev/wf_bt",O_RDONLY | O_NOCTTY); 绝对成功!!!!!
=====================================
allow system_server wf_bt_device:chr_file rw_file_perms; //允许system_server进程拥有对wf_bt_device的这个字符设备的读写权限。
=====================================
allow system_server wf_bt_device:chr_file rw_file_perms; //允许system_server进程拥有对wf_bt_device的这个字符设备的读写权限。
0 0
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- SElinux android 在hal下 如何获得对一个内核节点的访问权限
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- android5.0,6.0第三方签名APP,在SElinux下,如何获得对一个内核节点的访问权限?
- android5.0,6.0第三方签名APP,在SElinux下,如何获得对一个内核节点的访问权限?
- android在hal下 如何获得对一个内核节点的访问权限
- Android 5.0 SEAndroid下如何获得对一个内核节点的访问权限
- Android 获得对一个设备节点的访问权限
- iOS 保存图片的回调方法
- 博客第一篇,与技术无关
- ubuntu虚拟机扩展硬盘(加硬盘容量)
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
- Java面试题大全(Java基础三)
- Android 在 SElinux下 如何获得对一个内核节点的访问权限
- fail-fast机制
- 浅谈传统短信对比新媒体平台在传播上的优势
- Linux命令-8:cp(Copy File)命令
- 如何查看CO凭证号码及明细
- Qt浅谈之一:内存泄漏(总结)
- Intel-iot-services-orchestration-layer使用教程(二)
- 多线程之join方法
- 【深度学习】Caffe 深度学习框架上手教程