[Linux Device Driver] Android10 关闭Selinux权限方法

本文档详细介绍了如何在debug版本中禁用Selinux权限,适用于软件调试或展示需求。通过修改特定函数直接return false,使得Selinux权限状态由Enforcing变为Permissive,实现权限关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#更新 2020.11.30
这个修改方法仅供调试,或者一些展示的需求, 用于量产的软件版本当然不能这么搞,还是得乖乖的抓权限报错,一个个加权限解决。-_-+
#更新 2020.11.30

0. 背景

C:\Users\Administrator>adb shell
sdm660_64:/ # getenforce
getenforce
Enforcing

这个表明Selinux权限存在。

1. 抓开机log

抓一份开机串口log,检索SELinux
在这里插入图片描述

[    7.085097] init: Loading SELinux policy

这句log是重点,从init可以判断这句代码是从system下面找到的。

2 关闭权限

然后我们去grep:

~/android_10/LA.UM.8.6.2$ grep -nr "Loading SELinux policy"  ./system/core/
./system/core/init/selinux.cpp:418:    
LOG(VERBOSE) << "Loading SELinux policy from monolithic file";
./system/core/init/selinux.cpp:433:    
LOG(INFO) << "Loading SELinux policy";

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

bool IsEnforcing() {

    + return false;
    if (ALLOW_PERMISSIVE_SELINUX) {
        return StatusFromCmdline() == SELINUX_ENFORCING;
    }
    return true;
}

在这个函数里面,直接return false即可;debug版本进入ALLOW_PERMISSIVE_SELINUX这个判断,user版本不进入if判断。

C:\Users\Administrator>adb shell
sdm660_64:/ # getenforce
getenforce
Permissive

出现这个log说明Selinux关闭成功了。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值