观心静

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

版权声明

本文来自博客园,作者:观心静 ,转载请注明原文链接: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

posted on 2025-03-06 10:00  观心静  阅读(204)  评论(0)    收藏  举报