SELinux_Treble学习记录
SELinux_Treble学习记录
参考文档:https://source.android.google.cn/security/selinux/images/SELinux_Treble.pdf
android-8.0在android框架上有了大的改动,引入了Treble元素,旨在让制造商以更低的成本更轻松、更快速地将设备更新到新版 Android 系统。其中一点就是SELinux的改动。
SELinux是一个用于控制路径、设备、文件、进程、socket的读写权限标签系统,这个标签也被称为context。
android-4.4至android7.0将全部的SELinux策略(platform 和 non-platform)build到了root目录下的一个文件中,这样一来每当有policy改动时SoC vendor和ODM partners就不得不改动boot.img(non-A/B devices)或system.img(A/B devices)。可想而知引起的改动之大。
android-8.0后实现了策略模块化,vendors和partners只需要改动涉及他们对应的分区内容。
android 设备的分区
分区 | 归属 | 说明 | 是否必须 |
---|---|---|---|
bootloader.img | ODM | 用于启动kernel | Y |
odm.img | ODM | 包含设备特定代码和配置 | N |
boot.img | android platform | (kernel/ramdisk)包含linux kernel + android pacthes | Y |
recovery.img | android platform | 刷机 | N |
system.img | android platform | 包含多数android framework | Y |
verdor.img | SOC Vendor | 包含 SoC特定代码和配置 | N |
radio | SOC Vendor | 包含专有调制 | N |
oem.img | OEM | 包含DEM和运营商先关配置 | N |
主要路径:
一、SElinux的toybox命令行
@ /external/toybox/toys/android/
设置当前 SELinux 模式:
@ /external/toybox/toys/android/setenforce.c
命令:setenforce 0,或者 setenforce permissive,设置为宽容模式。
命令:setenforce 1,或者 setenforce enforcing,设置为强制模式。
注意,前提是selinux 是 enable的。
获取当前 SELinux 模式:
@external/toybox/toys/android/getenforce.c
命令:getenforce,会获取到三种状态,Disable,Enforcing,Permissive。
其他命令
getprop、load_policy、log、restorecon、runcon、sendevent、setprop、start等。
二、selinux的配套命令行工具实现
@ external/selinux,
1)toybox命令调用的具体实现,@external/selinux/libselinux/
2)检测(chkcon)和执行(libsepol)二进制安全策略,@external/selinux/libsepol/
3)SELinux编译器,依赖libsepol,@external/selinux/checkpolicy/
三、android SELinux策略配置
@system/sepolicy/,该目录一般不允许修改。
编译后会包含 SELinux 内核安全策略,并涵盖上游 Android 操作系统。
包含:
- 上下文描述文件(xxx_contexts),为对象指定标签。
- 策略文件(*.te),用于定义域(domain)及其标签(lable)。
- Android.bp/.mk,build 逻辑。
四、自定义policy文件
@/device/manufacturer/device-name/sepolicy/
新增policy时需要在device目录下目录,然后注意修改/device/manufacturer/device-name/BoardConfig.mk以引用 sepolicy 子目录和每个新的policy文件。
内核中启用 SELinux
CONFIG_SECURITY_SELINUX=y
SELinux_Treble学习记录相关推荐
- Pytorch学习记录-torchtext和Pytorch的实例( 使用神经网络训练Seq2Seq代码)
Pytorch学习记录-torchtext和Pytorch的实例1 0. PyTorch Seq2Seq项目介绍 1. 使用神经网络训练Seq2Seq 1.1 简介,对论文中公式的解读 1.2 数据预 ...
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis
本学习记录的代码,部分参考自gitee码云的如下工程.这个工程有详尽的Spingboot1.x教程.鸣谢! https://gitee.com/didispace/SpringBoot-Learnin ...
- 【Cmake】Cmake学习记录
Cmake学习记录 1.1 常例 add_library(gen_reference_infogen_reference_info/gen_reference_info.hgen_reference_ ...
- ASP.NETCore学习记录(一)
ASP.NETCore学习记录(一) asp.net core介绍 Startup.cs ConfigureServices Configure 0. ASP.NETCore 介绍 ASP.N ...
- Android开发技术周报176学习记录
Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87% ...
- add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
Pytorch学习记录-Pytorch可视化使用tensorboardX 在很早很早以前(至少一个半月),我做过几节关于tensorboard的学习记录. https://www.jianshu.co ...
- java之字符串学习记录
java之字符串学习记录 public class StringDemo { public static void main(String[] args) { //静态初始化字符串 String s1 ...
- Redis的学习记录
Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...
最新文章
- 浙大博士130页论文,教你用人工智能挑西瓜
- 近期活动盘点:2019第六届世界互联网大会、面向智慧城市的人本尺度城市形态:理论方法与实践讲座、高级管理人员AI大数据能力研修班...
- [转载]关于Java reference的一篇博文
- 计算机考试一级考试基础知识,2016计算机一级考试msoffice基础知识
- 37.拷贝控制和资源管理
- js正则匹配闭合标签_正则匹配闭合HTML标签(支持嵌套)
- ros构建机器人运动学模型_机器人开源控制软件 OROCOS
- Rust 编程语言曝高危漏洞,可导致文件和目录遭删除
- VS+Qt应用开发-设置鼠标光标
- mysql jemalloc_安装 jemalloc for mysql
- IOS 申请相机权限崩溃
- 【vlan间通信的小玩法】在三层交换机上做ospf
- DSPE-PEG7-NHS ester分子式:C63H1117N2O20P琥珀酰亚胺PEG连接剂
- C++stoul、stoull 函数用法
- surface pro4 多点触控失灵及触控笔失灵问题的解决
- OpenCV.反阈值二值化
- 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
- SQL server 除法计算百分比
- python怎么循环终止_Python 循环终止语句的三种方法小结
- opengl入门基础-画正方形
热门文章
- 金蝶EAS系统,凭证接口,凭证重复,系统已经引入过凭证
- 2019年最新面试动脑学院安卓 笔记安卓高级进阶-连接天天模拟器和adb常用命令
- ERP系统31.83版本发布,八大新功能助力企业管理
- caplusDB君 · 行业新闻汇编(12月25号)
- 乔布斯生母不知儿子去世
- oracle脚本导出数据文件
- 360等中概股遭遇找壳难 回归A股不容易
- 天正T20 V5.0软件及安装破解教程
- window10 Web服务器配置IIS的环境搭建
- 双正电气变频器说明书_【132G-A3 通用型变频器 高品质变频器】_浙江双正电气有限公司...