Sepolicy
编译介绍
Android 平台中:
• external/sepolicy:提供了 Android 平台中的安全策略源文件。同时,该目录下的 tools 还提供了诸
如 m4,checkpolicy 等编译安全策略文件的工具。这个目录下的文件一般不修改。
• external/libselinux:提供了 Android 平台中的 libselinux,供 Android 系统使用。
• external/libsepol:提供了供安全策略文件编译时使用的一个工具 checkcon。
• device/sprd/scx35/sepolicy/: 7731 平台相关的安全策略源文件。一般修改该目录下的文件。
external/sepolicy/:
device/sprd/scx35/sepolicy/:
编译之后结果 out/target/product/scx35_sp7731gea_hd/root/:
sepolicy #策略文件,二进制格式
file_contexts #文件上下文
service_contexts #android service 的上下文信息
seapp_contexts #app 上下文信息
property_contexts #android property 上下文
selinux_version #版本号
Security context
Linux 中有两种东西,一种死的(Inactive),一种活的(Active)。死的东西就是文件(Linux 哲学,万物
皆文件。注意,万不可狭义解释为 File),而活的东西就是进程。此处的“死”和“活”是一种比喻,映射到软
件层面的意思是:进程能发起动作,例如它能打开文件并操作它。而文件只能被进程操作。
SELinux 中,每种东西都会被赋予一个安全属性,官方说法叫 Security Context。Security Context(以后用
SContext 表示)是一个字符串,主要由三部分组成。例如 SEAndroid 中,进程的 SContext 可通过 ps -Z 命
令查看,如图所示: