本文主要是介绍Android Selinux详解[七]--如何给可执行程序bin加标签,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
经过前面几篇文章的介绍,你应该对Selinux有一定的了解了,现在我们就来实战一下。
你可能会在工作的过程遇到要给可执行程序bin加标签的需求,以下来讲解一下怎么给bin加标签
1. 一个bin通常是通过adb shell + bin名字拉起来的,拉起来后我们可以查看此bin进程的标签,命令是ps -A -Z| grep bin名字如下
u:r:shell:s0
可以看到标签是shell,此时这个bin所拥有的权限就是shell所拥有的的权限。
2. 如果我们执行了adb root或者是su,再去执行这个bin,再查看进程的标签,这个时候他的标签就是su,拥有超级用户的权限,几乎任何权限都可。
u:r:su:s0
3.假设我们是user版本,那我们就无法执行adb root操作,这个时候就需要给这个bin加上标签了,然后赋予它相应的权限
1) 首先需要给此bin文件打标签
/system/bin/testbin u:object_r:testbin_exec:s0
2) 然后声明这个exec文件
type testbin_exec, file_type, exec_type, system_file_type;
3) 由于我们是通过shell启动此bin的,所以需要如下权限,将testbin_exec进行域转换操作
typeattribute testbin coredomain;
domain_auto_trans(shell, testbin_exec, testbin)
4) 以上加完后,请整编版本进行验证
整编刷机后,如果此时再通过adb shell +bin名字启动此bin,此时ps -A -Z| grep bin结果会是如下结果:
u:r:testbin:s0
这篇关于Android Selinux详解[七]--如何给可执行程序bin加标签的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!