Android关闭selinux

小知识  2024年5月9日 am9:41发布7个月前更新 城堡大人
108 0 0

前言

简单记录一下关闭SELinux的命令或代码。

正文

获取SELinux状态

adb shell getenforce

返回值有两个

Permissive //关闭了SELinux

Enforcing //打开了SELinux

临时方法

前提设备已root了哈

临时的话,就是用adb来改变。

adb shell setenforce 1 或 0
  1. setenforce 0设置为permissive模式;

  2. setenforce 1 设置为enforcing模式;

改变后可以用adb shell getenforce获取状态。

重启后又恢复默认模式

永久方法

这个就是改代码啦。

Android 13

selinux.cpp
system\core\init\selinux.cpp
修改前
bool IsEnforcing() {
    {
        int fd(open("/mboot/selinux", O_RDONLY | O_CLOEXEC | O_BINARY));
        if (fd != -1) {
            char v = 0xff;
            if (read(fd, &v, 1) < 0)
                PLOG(ERROR) << "Failed to read /mboot/selinux";
            close(fd);
            LOG(WARNING) << "/mboot/selinux is " << v;
            return v == '1';
        }
    }
    if (ALLOW_PERMISSIVE_SELINUX) {
        return StatusFromProperty() == SELINUX_ENFORCING;
    }
    return true;
}
修改后
bool IsEnforcing() {
    //biumall.com add start
    return false; 
    //biumall.com add end
    {
        int fd(open("/mboot/selinux", O_RDONLY | O_CLOEXEC | O_BINARY));
        if (fd != -1) {
            char v = 0xff;
            if (read(fd, &v, 1) < 0)
                PLOG(ERROR) << "Failed to read /mboot/selinux";
            close(fd);
            LOG(WARNING) << "/mboot/selinux is " << v;
            return v == '1';
        }
    }
    if (ALLOW_PERMISSIVE_SELINUX) {
        return StatusFromProperty() == SELINUX_ENFORCING;
    }
    return true;
}

这种我验证OK。

参考文章

  1. 查看SELinux状态及关闭SELinux

  2. 代码里永久关闭selinux

 历史上的今天

  1. 2023: IJKPlayer和MediaPlayer切换问题(0条评论)
  2. 2022: C语言输出格式符(0条评论)
  3. 2019: Android.mk 用法解析整理(0条评论)
  4. 2018: [摘]UML类图符号的各种关系说明(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

视频分辨率缩放适配

前言简单记录一下视频适配屏幕显示问题。正文由于视频存在各种的分辨率,屏幕显示区域是固定的,比如:private final int SCREEN_WIDTH = 1024, SCREEN_HEIGHT = 600;客户的视频分辨率存在千奇百怪的,又大有小,如果客户没有要求,一般是视频铺...

多多:在墓地

在墓地,而没有回忆有叹息,但是被推迟蒙着脸,跪下去唱没人要我们,我们在一起是我们背后的云,要我们靠在一起我们背后的树,彼此靠得更近唱因为受辱雪从天上来,因为祝福风在此地,此地便是遗忘越是远离麦地,便越是孤独收听然后收割,寒冷,才播种忍受,所以经久相信,于是读出;有有...

Android ContentProvider记录2

前言接上一篇Contentprovider的介绍入门(《Android ContentProvider使用记录》),今天记录一下Contentprovider用于记录值状态。正文个人流水账,瞎写,只方便自己查阅,不共享。 隐藏内容!付费阅读后才能查看!¥18 ¥20多个隐藏块只需支付一次付...

AS动态配置module时异常

前言动态配置module时出现如下错误提示。Could not compile build file 'D:\Android\WaterFun\UserCenter\build.gradle'.> startup failed: build file 'D:\Android\Wat...

Android 13 MediaProvider简单记录2

前言简单记录一下Android 13中MediaProvider的扫描流程,记录于此,方便自己查阅而已。接上回《Android 13 MediaProvider简单记录》正文上回介绍到。@Overridepublic void scanDirectory(File file, int...

Vim复制和粘贴命令

前言简单记录一下Vim拷贝和粘贴命令正文dddeletedd是删除光标所在位置的整行内容,并复制到缓存区dd : 删除光标所在的整行内容[N]dd : 删除从光标所在的行开始,联系N行的内容yyYankyy是复制光标所在的整行内容,并复制到缓存区yy : 复制光标所在的整行内...