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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/317946.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Intellij IDEA 快速开发参考

快捷键 核心快捷键 IntelliJ IDEA 作为一个以快捷键为中心的 IDE&#xff0c;为大多数操作建议了键盘快捷键。在这个主题中&#xff0c;您可以找到最不可缺少的列表&#xff0c;使 IntelliJ IDEA 轻松实现第一步。 核心快捷键表&#xff1a; 操作快捷键根据名称查找操作CtrlSh…

贪心算法part05 435无重叠区间

435无重叠区间 763 划分字母区间 56合并区间

为什么JAVA_HOME修改后Java版本不变

今天的实验需要对java project进行降版本后重构。于是去Oracle官网下载了jdk1.7。然后将系统环境变量JAVA_HOME改成了安装后的jdk1.7路径。即 C:\Program Files\Java\jdk1.7.0_80 系统变量Path中直接引用了%JAVA_HOME%\bin。 但是当我查看版本&#xff0c;却出现了javac改了…

新版selenium4.0 + Python使用详解

1、selenium简介 Selenium是一个用于Web应用程序测试的工具&#xff0c;Selenium测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。支持的浏览器包括IE&#xff08;7, 8, 9, 10, 11&#xff09;&#xff0c;Mozilla Firefox&#xff0c;Safari&#xff0c;Google…

基于ssm的资产管理信息系统+vue论文

摘要 当下&#xff0c;正处于信息化的时代&#xff0c;许多行业顺应时代的变化&#xff0c;结合使用计算机技术向数字化、信息化建设迈进。以前企业对于资产信息的管理和控制&#xff0c;采用人工登记的方式保存相关数据&#xff0c;这种以人力为主的管理模式已然落后。本人结…

Ubuntu Server 22.04 连接Wifi并配置静态IP

Ubuntu Server 22.04 连接Wifi并配置静态IP 前言&#xff1a;我家最近好几台电脑&#xff0c;我都想跑着Ubuntu Server做服务器&#xff0c;但是近几年的超级本已经不自带网口了&#xff0c;所以我就考虑用Wifi来联网&#xff0c;速度也还可以&#xff0c;但是既然是跑服务&…

CEC2017(Python):五种算法(DBO、HHO、RFO、SSA、PSO)求解CEC2017

一、5种算法简介 1、蜣螂优化算法DBO 2、哈里斯鹰优化算法HHO 3、红狐优化算法RFO 4、麻雀搜索算法SSA 5、粒子群优化算法PSO 二、CEC2017简介 参考文献&#xff1a; [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. (2016). “Problem d…

网络工程师的必备技能与职业素养

因为是计算机网络技术专业&#xff0c;因此毕业后做的都是相关工作。今天结合自己的亲身经历总结一下网络工程师应该具备的能力和素质&#xff0c;有做乙方实施项目&#xff0c;也有在甲方公司躺平的经历&#xff0c;个人觉得能够做的一些东西。也有看到一些文章说不要专注于技…

c语言-浮点型数据在内存中的存储

目录 前言一、浮点数存储例子二、浮点数在内存的存储格式2.1 32位浮点数存储格式2.2 64位浮点数存储格式 三、IEEE 754对有效数字M和指数E的规定3.1 对存储有效数字M的规定3.2 对存储指数E的规定3.2.1 E在32位浮点数的存储格式3.2.2 E在64位浮点数的存储格式 3.3 对读取有效数M…

阶段十-分布式-Redis02

第一章 Redis 事务 1.1 节 数据库事务复习 数据库事务的四大特性 A&#xff1a;Atomic &#xff0c;原子性&#xff0c;将所以SQL作为原子工作单元执行&#xff0c;要么全部执行&#xff0c;要么全部不执行&#xff1b;C&#xff1a;Consistent&#xff0c;一致性&#xff0…

栈实现前缀表达式的计算

前缀表达式计算 过程分析 中缀表达式&#xff1a;&#xff08;1 5&#xff09;*3 > 前缀表达式&#xff1a;*153 &#xff08;可参考这篇文章&#xff1a;中缀转前缀&#xff09; 第一步&#xff1a;从右至左扫描前缀表达式&#xff08;已存放在字符数组中&#xff09;&a…

3D视觉-相机选用的原则

鉴于不同技术方案都有其适用的场景&#xff0c;立体相机的选型讲究的原则为“先看用途&#xff0c;再看场景&#xff0c;终评精度”&#xff0c;合适的立体相机在方案中可以起到事半功倍的效果。从用途上来进行划分&#xff0c;三维视觉方案主要应用在两个方向&#xff1a;测量…