版权声明
本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/17878100.html
前言
selinux是Linux系统中的安全策略,主要作用是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。任何程序对其资源享有完全的控制权。
Android 中包含 SELinux(处于强制模式)和默认适用于整个 AOSP 的相应安全政策。在强制模式下,非法操作会被阻止,并且尝试进行的所有违规行为都会被内核记录到 dmesg 和 logcat。开发时,您应该先利用这些错误信息对软件和 SELinux 政策进行优化,再对它们进行强制执行。简单的来说selinux系统中任何进程想干什么事情(例如文件的读写),都必须先在安全策略配置文件中赋予权限。凡是没有出现在安全策略配置文件中的权限,进程就没有该权限。
查询当前selinux状态
查询当前selinux状态, Permissive为关闭状态 enforce为开启状态
$ adb shell
# getenforce
Permissive
开启与关闭SELinux
临时性通过Adb开启与关闭selinux
设置 0为关闭状态 1为开启状态
$adb shell
#setenfore 0
修改系统默认关闭selinux
首先在Android系统中启动的流程是这样的: BootRom -> Bootloader -> Linux kernel -> init进程 -> Zygote进程 -> SystemServer -> Launcher
而selinux初始化的非常早,在init进程的阶段初始化,这么重要的东西当然是越早初始化越好了。而关闭的方式就是在初始化的过程中。
修改文件路径:/aosp/system/core/init/selinux.cpp

显示安全上下文
加上-Z能显示主体、客体的上下文
- ls -Z 能显示当前目录下的文件系统的安全上下文
- ps -Z 能显示进程的安全上下文
- id -Z 能显示shell的安全上下文:joe:usr_r:usr_t
End
本文来自博客园,作者:观心静 ,转载请注明原文链接:https://www.cnblogs.com/guanxinjing/p/17878100.html
浙公网安备 33010602011771号