教育培训网站建设,网站建设需要哪些软件,如何做网站引流,北京海淀区官网简介#xff1a; CSDN博客专家#xff0c;专注Android/Linux系统#xff0c;分享多mic语音方案、音视频、编解码等技术#xff0c;与大家一起成长#xff01; 优质专栏#xff1a;Audio工程师进阶系列【原创干货持续更新中……】#x1f680; 优质专栏#xff1a;多媒… 简介 CSDN博客专家专注Android/Linux系统分享多mic语音方案、音视频、编解码等技术与大家一起成长 优质专栏Audio工程师进阶系列【原创干货持续更新中……】 优质专栏多媒体系统工程师系列【原创干货持续更新中……】 人生格言 人生从来没有捷径只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注Android系统攻城狮 1.前言 本篇目的audit2allow自动生成Selinux配置。 2.SeLinux介绍 SELinux全称Security-Enhanced Linux是一种基于Linux内核的安全机制。它通过强制访问控制MAC来增强Linux系统的安全性对于保护系统资源和防止未经授权访问非常有帮助。本文将简要介绍SELinux的原理和功能。 SELinux最初是由美国国家安全局NSA开发的于2000年首次集成到Linux内核中。它通过将每个对象如文件、进程和用户和动作如读写、执行分配给一个安全上下文来实现安全访问控制。安全上下文包括主体和客体主体代表拥有访问权限的主体而客体代表被保护的系统资源。 SELinux通过使用访问控制策略来管理对象和动作之间的访问权限。访问控制策略定义了允许或禁止一个主体访问一个特定的客体的规则。这种严格的策略强制执行防止非授权访问有效地减少了系统受到攻击的风险。 SELinux的主要功能包括 强制访问控制MACSELinux在每个对象和动作上强制实施访问控制策略即使用户具有root权限也不能绕过这些策略。 细粒度访问控制SELinux使管理员能够配置文件和进程的访问权限实现更精确的访问控制。 角色基准访问控制SELinux允许系统管理员为特定的用户角色分配不同的安全策略以便管理访问权限。 安全上下文SELinux使用安全上下文来标记对象和动作并通过语义丰富的标签来定义对象之间的关系。 弹性SELinux的策略可根据实际需求进行定制以满足不同环境下的安全需求。 虽然SELinux提供了强大的安全功能但它也可能增加了配置和管理的复杂性。因此对于普通用户来说理解SELinux的工作原理并正确配置它可能需要一定的学习和实践。 总之SELinux是一种基于Linux内核的安全增强机制通过强制访问控制、细粒度访问控制和安全上下文等功能来提高系统的安全性。它在Linux系统中得到广泛应用并在防止未经授权访问和减少系统受到攻击的风险方面发挥着重要作用。
3.audit2allow自动生成selinux规则
1.配置Android源码环境
# source build/envsetup.sh
# lunch xxx2.抓带avc的log
# adb logcat | tee avc.txt3.自动转换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 syntax4.将规则添加到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