S005SELinux(SEAndroid)的实际文件组成无标题文章
SEAndroid 是将SELinux 移植到Android 上的产物,可以看成SELinux 辅以一套适用于Android 的策略。
那么在android系统中那些文件是与SELinux(SEAndroid)相关的呢?
- 在android源码中有哪些
- 在android rom中有哪些?
android源码中
android源码提供的所有Android策略文件在路径external/sepolicy目录下面,
external/sepolicy //通用的
device/lge/mako/sepolicy //某款设备特有的,此为举例
这里面主要包含如下几类文件:
- File contexts (*.fc)
- Type enforcement rules (*.te)
- M4 macros, "interfaces" (*.if)
然后是一些特殊的配置文件:
- external/sepolicy/attributes -> 所有定义的attributes都在这个文件
- external/sepolicy/access_vectors -> 对应了每一个class可以被允许执行的命令
- external/sepolicy/roles -> Android中只定义了一个role,名字就是r,将r和attribute domain关联起来
- external/sepolicy/users -> 其实是将user与roles进行了关联,设置了user的安全级别,s0为最低级是默认的级别,mls_systemHigh是最高的级别
- external/sepolicy/security_classes -> 指的是上文命令中的class,个人认为这个class的内容是指在android运行过程中,程序或者系统可能用到的操作的模块
- external/sepolicy/te_macros -> 系统定义的宏全在te_macros文件
- external/sepolicy/*.te -> 一些配置的文件,包含了各种运行的规则
上下文
-
file_contexts
file_contexts文件保存的是系统中所有文件的安全上下文定义。file_contexts文件的格式比较简单,每行的前半部分是文件的路径,后面是它的安全上下文的定义。支持通配符。 -
genfs_contexts
文件保存android proc虚拟分区内文件的上下文。 - initial_sid_contexts
- port_contexts
-
property_contexts
property_contexts文件中保存的是系统中所有Android属性的安全上下文定义。 -
seapp_contexts
和Android中的应用程序打标签有关 - service_contexts
android系统相关的文件
在rom中
/data/security
使用命令
setprop selinux.reload_policy 1
可以重新加载新的sepolicy,由于/data目录下有了sepolicy,所以它将使用这个新的。
在根目录下有如下文件
- file_contexts
- property_contexts
- seapp_contexts
- sepolicy
- selinux_version
- service_contexts
作者:夏大王2019
链接:http://www.jianshu.com/p/e67107e39c98
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者:柒月
Q群 :2122210(嵌入式/机器学习)