SEAndroid 是将SELinux 移植到Android 上的产物,可以看成SELinux 辅以一套适用于Android 的策略。

那么在android系统中那些文件是与SELinux(SEAndroid)相关的呢?

  1. 在android源码中有哪些
  2. 在android rom中有哪些?

android源码中

android源码提供的所有Android策略文件在路径external/sepolicy目录下面,

external/sepolicy   //通用的
device/lge/mako/sepolicy //某款设备特有的,此为举例

这里面主要包含如下几类文件:

  • File contexts (*.fc)
  • Type enforcement rules (*.te)
  • M4 macros, "interfaces" (*.if)

然后是一些特殊的配置文件:

  1. external/sepolicy/attributes -> 所有定义的attributes都在这个文件
  2. external/sepolicy/access_vectors -> 对应了每一个class可以被允许执行的命令
  3. external/sepolicy/roles -> Android中只定义了一个role,名字就是r,将r和attribute domain关联起来
  4. external/sepolicy/users -> 其实是将user与roles进行了关联,设置了user的安全级别,s0为最低级是默认的级别,mls_systemHigh是最高的级别
  5. external/sepolicy/security_classes -> 指的是上文命令中的class,个人认为这个class的内容是指在android运行过程中,程序或者系统可能用到的操作的模块
  6. external/sepolicy/te_macros -> 系统定义的宏全在te_macros文件
  7. external/sepolicy/*.te -> 一些配置的文件,包含了各种运行的规则

上下文

  • file_contexts
    file_contexts文件保存的是系统中所有文件的安全上下文定义。file_contexts文件的格式比较简单,每行的前半部分是文件的路径,后面是它的安全上下文的定义。支持通配符。

  • genfs_contexts
    文件保存android proc虚拟分区内文件的上下文。

  • initial_sid_contexts
  • port_contexts
  • property_contexts
    property_contexts文件中保存的是系统中所有Android属性的安全上下文定义。

  • seapp_contexts
    和Android中的应用程序打标签有关

  • service_contexts

android系统相关的文件

在rom中

/data/security

使用命令

setprop selinux.reload_policy 1

可以重新加载新的sepolicy,由于/data目录下有了sepolicy,所以它将使用这个新的。

在根目录下有如下文件

  • file_contexts
  • property_contexts
  • seapp_contexts
  • sepolicy
  • selinux_version
  • service_contexts

作者:夏大王2019
链接:http://www.jianshu.com/p/e67107e39c98
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

S005SELinux(SEAndroid)的实际文件组成无标题文章的更多相关文章

  1. 简单集成高大上的ImagePicker无标题文章

    简单集成高大上的ImagePicker无标题文章   现在是个项目就要有图片上传所以下面介绍一下简单高端的图片选择器 感谢读者的细心发现bug,最近bug已经修复(github更新)所以对文章部分内容 ...

  2. MFC修改窗口无标题和标题信息,修改执执行文件图标

    一.创建MFC后 窗口显示的是 无标题-工程名 修改方法在网上看到了几种,下面介绍下比较简单的一种: 1.在MianFrame.c文件中找到这个函数 BOOL CMainFrame::PreCreat ...

  3. Android 无标题、全屏设置

    一.在主题中设置无标题.全屏 (一):直接设置主题: android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  // ...

  4. Android:实现无标题的两种方法

    实现无标题的两种方法:配置xml文件和编写代码设置 1.在AndroidManifest.xml文件中进行配置 实现全屏效果: android:theme="@android:style/T ...

  5. Android中无标题样式和全屏样式学习

    在进行UI设计时,我们经常需要将屏幕设置成无标题栏或者全屏.要实现起来也非常简单,主要有两种方法:配置xml文件和编写代码设置. 1.在xml文件中进行配置 在项目的清单文件AndroidManife ...

  6. [WPF] 我的WPF自学日记1,无标题窗体拖动

    学习WPF的第一天,尝试写比较常用的功能,无标题窗体拖动. 先在设计界面给它加上MouseDown事件 <Window x:Class="MyFirstWPFAPP.MainWindo ...

  7. windows程序里新窗体不在任务栏显示,无标题拖动,键盘事件,始终显示在主窗体上面,单实例运行等

    不显示在任务栏,Alt+Tab也不显示 protected override CreateParams CreateParams { get { const int WS_EX_APPWINDOW = ...

  8. Delphi实现无标题有边框的窗体

    1.在delphi中新建窗体程序,然后设置窗口的 BorderStyle属性为bsNone 2.在窗体的public区写下这一句: Procedure CreateParams(var Params ...

  9. android ActionBarActivity设置全屏无标题

    新建的Activity继承自ActionBarActivity,设置全屏无标题本来很简单的事,但是没想到app竟然无缘无故的挂,要么就是白屏一片,要么就是黑屏.坑了我一个多小时!!! 原因是Actio ...

随机推荐

  1. 浅谈IM软件怎样建立安全socket连接、登录

    ----------------------------------------------------欢迎查看IM软件业务知识<专栏>-------------------------- ...

  2. POJ 1426 Find The Multiple &amp;&amp; 51nod 1109 01组成的N的倍数 (BFS + 同余模定理)

    Find The Multiple Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21436   Accepted: 877 ...

  3. linux c 常常混淆的概念

    指针函数 and 函数指针 指针函数是指带指针的函数,即本质是一个函数.函数都有返回类型(假设不返回值,则为无值型),仅仅只是指针函数返回类型是某一类型的指针. 定义格式 类型名 *函数名(函数參数列 ...

  4. hdu 3062+1824(2-sat入门)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3062 思路:根据矛盾关系连边(如果a与b矛盾,则连边a'->b,b'->a),然后强连通缩 ...

  5. JS原生追加子节点

    var fragment = document.createDocumentFragment(); li = document.createElement('li'); li.className = ...

  6. 改动MySQL数据库port号 2.0

    这里通过改动数据库服务启动时的配置文件来达到改动的目的 Linux下的配置文件夹文件(演示样例):/usr/local/mysql/my.cnf [mysqld] # Remove leading # ...

  7. Android UI开发第二十六篇——Fragment间的通信

    为了重用Fragment的UI组件,创建的每个Fragment都应该是自包含的.有它自己的布局和行为的模块化组件.一旦你定义了这些可重用的Fragment,你就可以把它们跟一个Activity关联,并 ...

  8. MySQL中常用字符串函数

    1.字符串长度函数CHAR_LENGTH(str),LENGTH(str)  CHAR_LENGTH()返回值为字符串str的长度,长度的单位为字符.一个多字节字符算作一个单字符.对于一个包含五个二字 ...

  9. git push 推送大文件失败的处理办法

    不小心把数据库备份文件放到git目录里了,导致无法上传代码. 首先参考了 这篇文章 http://www.cnblogs.com/qmmq/p/4604862.html. 按照文中一开始说的去做,可还 ...

  10. php自定义函数: 时间转换成智能形式

    function time_trans($paratime,$suffix=false){ $now_time = time(); $dur = $now_time - $paratime; $suf ...