Android SEliunx权限机制
文章平均质量分 72
Kbattery
这个作者很懒,什么都没留下…
展开
-
SeLinux 的编译逻辑
收集 PLAT_PRIVATE_POLICY和 PLAT_PUBLIC_POLICY 目录下的 文件,通过transform-policy-to-conf 进行宏展开,得到plat_policy.conf文件。一文中,我们知道,在init进程对Selinux的处理过程中,会将precompiled_sepolicy或者动态编译相关目录下的cil文件得到的compiled_sepolicy写入给内核。再来看一下cil文件的生成过程,以built_plat_cil 为例,其它的都类似。最终根目录系统结构为。原创 2024-04-02 16:57:51 · 672 阅读 · 0 评论 -
Android 11 init进程对Selinux的处理
查找的流程是 先找/odm/etc/selinux/precompiled_sepolicy,如果没有,再找/vendor/etc/selinux/precompiled_sepolicy (具体可分析FindPrecompiledSplitPolicy函数)。selinux_android_load_policy_from_fd在libselinux库中,源码路径是external/selinux/libselinux/src/android/android_platform.c。原创 2024-04-02 15:11:25 · 452 阅读 · 0 评论 -
SeLinux 常见的宏
意味着该声明是可以描述主体和客体的类型切换的, 比如客体文件类型切换, 或者主体进程域的type 切换(上下文切换), 注意:此时只是描述了从哪里切换到哪里的问题。注意:该宏只是申请允许切换,相当于为type_transition申请切换的权限。申请在某个domain(进程)在安全上下文为dir_type的目录下,创建文件,新文件的安全上下文为file_type的权限。允许domain(进程)对安全上下文为type的目录有r_dir_perms权限,文件和lnk_file 有r_file_perms权限。原创 2024-04-01 17:42:03 · 346 阅读 · 1 评论 -
Selinux安全策略文件
2,perm_set集合可以填写什么,需要看access_vectors文件对前面的object_class 的规定。类别,目标(客体)是哪种类别,主要有file,dir,socket, process, SEAndroid 还有binder 等,在这些基础上又细分出设备字符类型(chr_file),链接文件(lnk_file)等。而 file_type,data_file_type等也需要在system\sepolicy\public\attributes文件中定义。3,用type来定义一个新的类型。原创 2024-04-01 16:38:28 · 285 阅读 · 0 评论 -
SeLinux安全上下文文件
在Android中,常见的安全上下文文件有file_contexts、genfs_contexts、service_contexts、mac_permissions.xml和seapp_contexts。seapp_contexts,app的安全上下文,用于描述apk 安装之后的目录文件和/data/data 目录分配标签。根系统中所有文件的安全上下文, 如/system/bin, /system/etc 等文件。系统binder服务的安全上下文,在启动过程中,servermanger会读取该配置。原创 2024-04-01 15:08:16 · 527 阅读 · 0 评论 -
Selinux 的模式
androidboot.selinux 的值是否需要开启selinux。(可以直接改is_enforcing 的值或者改/proc/cmdline 文件,当然/proc/cmdline 文件每个平台有每个平台的做法)安卓系统启动过程中, init 进程会进行selinux 的初始化。通过读取/proc/cmdline 文件, 判断。1,临时修改,使用setenforce 命令。setenforce 1 //设置为Enforcing强制模式。2,在内核中直接关闭 Selinux。3,在init中关闭。原创 2024-03-26 11:41:12 · 316 阅读 · 0 评论 -
Selinux权限介绍
可以看出,这里对主体(platform_app )访问客体(system_file)的子项(比如文件夹)的某项权限都进行了精确的规定。一个文件可以规定为:拥有它的用户具有什么权限,和它同组的用户具有什么权限以及其它的用户具有什么权限。这里说的是用户空间,是因为Seliunx的权限检查还是由内核完成的。load_policy : 加载二进制策略文件,临时性的操作,重启无效, 一般用于调试,如重新编译了策略文件, 替换新的策略二进制文件, 可以重新让系统加载策略文件。五,Seliunx 常见的命令。原创 2024-03-26 11:11:45 · 382 阅读 · 0 评论