Android14之audit2allow自动生成Selinux规则(一百七十五)

2024-01-03 20:52

本文主要是介绍Android14之audit2allow自动生成Selinux规则(一百七十五),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:audit2allow自动生成Selinux配置。

2.SeLinux介绍

  • SELinux,全称Security-Enhanced Linux,是一种基于Linux内核的安全机制。它通过强制访问控制(MAC)来增强Linux系统的安全性,对于保护系统资源和防止未经授权访问非常有帮助。本文将简要介绍SELinux的原理和功能。

  • SELinux最初是由美国国家安全局(NSA)开发的,于2000年首次集成到Linux内核中。它通过将每个对象(如文件、进程和用户)和动作(如读写、执行)分配给一个安全上下文来实现安全访问控制。安全上下文包括主体和客体,主体代表拥有访问权限的主体,而客体代表被保护的系统资源。

  • SELinux通过使用访问控制策略来管理对象和动作之间的访问权限。访问控制策略定义了允许或禁止一个主体访问一个特定的客体的规则。这种严格的策略强制执行防止非授权访问,有效地减少了系统受到攻击的风险。

  • SELinux的主要功能包括:

  1. 强制访问控制(MAC):SELinux在每个对象和动作上强制实施访问控制策略,即使用户具有root权限也不能绕过这些策略。

  2. 细粒度访问控制:SELinux使管理员能够配置文件和进程的访问权限,实现更精确的访问控制。

  3. 角色基准访问控制:SELinux允许系统管理员为特定的用户角色分配不同的安全策略,以便管理访问权限。

  4. 安全上下文:SELinux使用安全上下文来标记对象和动作,并通过语义丰富的标签来定义对象之间的关系。

  5. 弹性:SELinux的策略可根据实际需求进行定制,以满足不同环境下的安全需求。

  • 虽然SELinux提供了强大的安全功能,但它也可能增加了配置和管理的复杂性。因此,对于普通用户来说,理解SELinux的工作原理并正确配置它可能需要一定的学习和实践。

  • 总之,SELinux是一种基于Linux内核的安全增强机制,通过强制访问控制、细粒度访问控制和安全上下文等功能来提高系统的安全性。它在Linux系统中得到广泛应用,并在防止未经授权访问和减少系统受到攻击的风险方面发挥着重要作用。

3.audit2allow自动生成selinux规则

<1>.配置Android源码环境

# source build/envsetup.sh
# lunch xxx

<2>.抓带"avc"的log

# adb logcat | tee avc.txt

<3>.自动转换avc.txt到selinux规则

# adb pull /sys/fs/selinux/policy
# adb logcat -d | ./external/selinux/prebuilts/bin/audit2allow -p policy
  • 生成selinux规则
#============= boringssl_self_test ==============
allow boringssl_self_test self:capability sys_admin;#============= dexoptanalyzer ==============
allow dexoptanalyzer app_data_file:dir search;#============= init-insmod-sh ==============
allow init-insmod-sh self:capability sys_admin;#============= system_server ==============
allow system_server vendor_default_prop:file read;

注意:当前PC的python版本一定是: python2.7。否则会出现如下语法问题:

 File "external/selinux/prebuilts/bin/audit2allow", line 3if [ -z "${ANDROID_HOST_OUT}" ]; then^
SyntaxError: invalid syntax

<4>.将规则添加到device/xxx/common/sepolicy/xxx.te文件中

allow boringssl_self_test self:capability sys_admin;#============= dexoptanalyzer ==============
allow dexoptanalyzer app_data_file:dir search;#============= init-insmod-sh ==============
allow init-insmod-sh self:capability sys_admin;#============= system_server ==============
allow system_server vendor_default_prop:file read;

<4>.编译

# make -j12 sepolicy

这篇关于Android14之audit2allow自动生成Selinux规则(一百七十五)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567030

相关文章

IDEA如何让控制台自动换行

《IDEA如何让控制台自动换行》本文介绍了如何在IDEA中设置控制台自动换行,具体步骤为:File-Settings-Editor-General-Console,然后勾选Usesoftwrapsin... 目录IDEA如何让控制台自http://www.chinasem.cn动换行操作流http://www

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur