企业如何利用HarmonyOS开发工具提升小程序开发效率与合规性
1338
2022-09-10
Android系统10 RK3399 init进程启动(二十) SEAndroid 缩写与名词解释
说明
系统:Android10.0
设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)
前言
接下来会给大家介绍Android Selinux的相关知识,讲解之前,将部分相关名词和缩写先列举出来。
一, 缩写与名词解释
DAC | Discretionary Access Control,自主访问控制系统 |
MAC | Mandatory Access Control,强制访问控制系统 |
SELinxux/SEAndroid | Security Enhanced for linux Security Enhanced for Android |
SContext | SELinux给每一个文件、进程、属性、服务都给打上一个标签,叫安全上下文(Security Context),也可以理解为附加在对象上的标签(label) 由四部分内容组成:SELinux用户、SELinux角色、类型、安全级别 格式为“user:role:type:sensitivity” 在日志中出现的scontext为source context, tcontext为target context |
Subject/Object | 主体:一般指进程 客体: 一般指资源(文件,socket,属性, IPC等) |
Action | 对Object做的动作,例如 读取、写入或者执行等等 |
cil | Common Intermediate Language,通用中间语言,CIL 的最终目标是生成将由内核强制执行的策略.将相关策略文件转换成完全忠实地代表内核的语言。 |
Policy | 策略,用于制定主体对客体的访问规则 |
User | 用户 |
Role | 角色 |
Type | 类型, selinux是以type为单位进行控制的, 可以认为是一个动词, 表示为某某设置类型, 也可以表示一个个体/单位, 比如某个type具有什么权限。 |
te文件 | Type Enforce文件: 类型强制文件 |
non-platform/platform | 非平台(如vendor,odm, oem) 平台(如谷歌编写的核心代码) |
attributes | 翻译成属性组或类型组, 如exec_type, file_type,fs_type,vendor_file_type等.一般用于将type和attribute进行关联, 若对attribute进行allow或者neverallow, 那么type也就跟着拥有同样的控制策略了,这样可以简化te规则的编写。 |
typeattribute | 将某个类型个体关连连另外一个属性(权限组), 如:typeattribute platform_app unconfineddomain, 此时platform_app就拥有了unconfineddomain类型的权限,可以理解为一堆权利(如经理有人事任免,财务审计, 采购审批等权限) |
class | 权限类, 也是一种组别或集合, 侧重于权限行为的集合, 如: class service_manager { add find list } 拥有权限类, 就自然拥有权限类中的各个权限。 |
Security Server | 用户空间服务, 是一个统称, android系统里面由init, zygote,PMS, intalld共同组成, 负责对 |
LSM | Linux security module 内核安全模块, 是一个通用的安全策略管理子系统, selinux作为模块,被LSM管理。 |
AVC | Access Vector Cache 用于缓存访问决策结果的, 以提升性能。 |
二, 相关文件和目录介绍
源码文件:
system/sepolicy/private/security_classes | 描述te策略文件中的object_class目标类型 |
system/sepolicy/private/access_vectors | 描述te策略文件中的perm_set权限集合 |
system/sepolicy/public/te_macros | Selinux所有的宏定义文件 |
system/sepolicy/public/global_macros | 定义了各种object_class的集合名,如devfile_class_set, ipc_class_set等, 权限集合如x_file_perms,里面都是宏定义 |
system/sepolicy/public/attributes | 定义系统中各种属性,属性是一种可进行关联的 |
external/sepolicy/ | 提供getenforce/setenforce命令, libselinux库, 以及相关编译命令 |
根文件系统文件 :
/system/etc/selinux | 平台策略文件编译之后生成到根文件系统中存放目录 |
/vendor/etc/selinux | 厂商策略文件编译之后生成到根文件系统中存放目录 |
/sys/fs/selinux | 内核为用户空间提供了selinux文件系统的挂载路径 |
三,总结
以上内容在后期章节会详细讲解, 此处可以作为一个开胃菜,学完后面知识,回头再看这些, 就基本都明白是啥了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~