Android系统源码中SeLinux的配置

 分类:Android, Java 阅读 (2,857)  Android系统源码中SeLinux的配置已关闭评论
3月 312020
 
模块中定义的sepolicy策略文件目录如下加入到系统编译中:

在BoardConfig.mk中找BOARD_SEPOLICY_DIRS,将你的sepolicy目录加到这个变量中,如下所示:

 
如何定义域?

在/system/sepolicy/public/attributes文件中输入如下的行来定义

 
如何定义某个目录或者应用文件的安全上下文?

首先在/system/sepolicy/private/file_contexts中定义如下:

然后创建my_app.te的文件来定义具体的规则:

 

根据logcat中的avc denied的log生成合适的seLinux规则。

我们可以在logcat中看到类似如下的日志:

我们可以通过audit2allow工具把上面的log转换成合适的规则,配置在策略文件中,如果没有安装过这个工具先安装工具,如下:

将相关的log保存到一个文件中,如avclog.txt,然后执行下面的命令来生成规则: