android8 去掉selinux

2024-05-15 22:58
文章标签 去掉 selinux android8

本文主要是介绍android8 去掉selinux,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安卓代码
android/system/core/init/init.cpp

static void selinux_initialize(bool in_kernel_domain) {Timer t;selinux_callback cb;cb.func_log = selinux_klog_callback;selinux_set_callback(SELINUX_CB_LOG, cb); cb.func_audit = audit_callback;selinux_set_callback(SELINUX_CB_AUDIT, cb); if (in_kernel_domain) {LOG(INFO) << "Loading SELinux policy";if (!selinux_load_policy()) {panic();}    bool kernel_enforcing = (security_getenforce() == 1);bool is_enforcing = selinux_is_enforcing();if (kernel_enforcing != is_enforcing) {if (security_setenforce(is_enforcing)) {PLOG(ERROR) << "security_setenforce(%s) failed" << (is_enforcing ? "true" : "false");security_failure();}    }    std::string err; if (!WriteFile("/sys/fs/selinux/checkreqprot", "0", &err)) {LOG(ERROR) << err; security_failure();}    // init's first stage can't set properties, so pass the time to the second stage.setenv("INIT_SELINUX_TOOK", std::to_string(t.duration().count()).c_str(), 1);} else {selinux_init_all_handles();} 

修改is_enforcing的值(0或者1)

static bool selinux_is_enforcing(void)
{if (ALLOW_PERMISSIVE_SELINUX) {return selinux_status_from_cmdline() == SELINUX_ENFORCING;}return true;
}

由上可以返回selinux_status_from_cmdline()== SELINUX_PERMISSIVE即可把selinux允许
因为返回值只有两个类型
enum selinux_enforcing_status { SELINUX_PERMISSIVE, SELINUX_ENFORCING };


enum selinux_enforcing_status { SELINUX_PERMISSIVE, SELINUX_ENFORCING };static selinux_enforcing_status selinux_status_from_cmdline() {selinux_enforcing_status status = SELINUX_ENFORCING;import_kernel_cmdline(false, [&](const std::string& key, const std::string& value, bool in_qemu) {if (key == "androidboot.selinux" && value == "permissive") {status = SELINUX_PERMISSIVE;}});return status;
}

即androidboot.selinux == permissive即可允许

故在平台上添加kernel cmdline
BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom androidboot.selinux=permissive msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 androidboot.memcg=false earlyprintk

但仍会有权限打印但提示permissive=1,说明允许操作

[   27.895071] selinux: avc:  denied  { set } for property=vendor.audio.sys.init pid=394 uid=1041 gid=1005 scontext=u:r:hal_audio_default:s0 tcontext=u:object_r:audio_prop:s0 tclass=property_service permissive=1

这篇关于android8 去掉selinux的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993156

相关文章

致远个性化之--发起流程页面,去掉【查看流程】按钮

需求 近期在做的项目中,遇到一个需求,想把发起流程页面中的【查看流程】按钮去掉,只让员工预测流程,知道自己的事项流程走向,不让看全局流程图。包含PC端和移动端,以及微协同端。 如下图效果示例: 实现 此需求,只能通过修改页面代码实现。在此不分析实现过程,现把具体实现方式呈现如下,各位如有需求可参照设置。适用版本V9.0,其他版本未进行测试,估计不会有大的差别! PC端 找到文件

强调重点元素、弱化辅助元素、去掉无关元素,工控HMI还能好不了

HMI设计,尤其工控领域的HMI设计,千万不要走极端,把界面搞得花哨,或者所谓的美观,切记实现功能才是第一位的。 在人机界面(HMI)设计中,强调重点元素、弱化辅助元素、去掉无关元素是非常重要的,可以提高用户体验和界面的可用性。 1. 强调重点元素: 通过颜色、大小、对比度等方式来突出显示重要的元素,例如使用醒目的颜色、加粗的字体或者特殊的图标来吸引用户的注意力。 2. 弱化辅助元

mysql查询所有记录,并去掉重复的记录

distinct(str)函数是用来去掉重复记录的,但是它只是针对某一个字段可以去重复。例如:select distinct(name)from tablename; 但是如果想把其他字段值的记录也查询出来, 我一开始想的是使用select distinct(name) ,ta.* from tablename.注意distinct必须放在前面!但是这样并没有去掉重复的记录,后来想到了group

MFC单文档去掉默认的菜单、工具栏和状态栏

 1,去掉工具栏和状态栏, 在  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)   中注销掉相关的工具栏和状态栏语句,即可。 2,去掉菜单, 在 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) 中,增加语句 cs.hMenu = NULL;//即 菜单句柄赋

Android13 Hotseat客制化--Hotseat修改布局、支持滑动、去掉开机弹动效果、禁止创建文件夹

需求如题,实现效果如下 : 固定Hotseat的padding位置、固定高度 step1 在FeatureFlags.java中添加flag,以兼容原生态代码 public static final boolean STATIC_HOTSEAT_PADDING = true;//hotseat area fixed step2:在dimens.xml中添加padding值和高度值

vs2022 如何去掉 错误|警告的波形曲线 绿色波浪线

如图: 去不去都一样,只是看着不舒服,相当不爽 工具→选项→文本编辑器→显示错误波形曲线,把前的√去掉,按确定 清爽多了,虽然没啥卵用 。。。

Android 10.0 第三方app设置默认Launcher快速进去桌面去掉android正在启动提示功能

1.前言 在10.0的系统rom定制化开发中,在有多个app的时候当设置为默认Launcher的时候,在进入系统中,在播放完开机动画的时候,这时候在系统未解锁的时候, 这时候会由于在7.0后的fallbackhome机制的原因,导致会弹出Settings中的android 正在启动弹窗,接下来看下如何快速启动第三方app,而不弹出 android 正在启动弹窗第一时间直接进入默认的Launche

WebView滑动过程中去掉上下左右边界阴影(倒影)

WebView滑动过程中去掉上下左右边界阴影(倒影)   我们在用WebView加载含大量文字的html文件时,需要上滑下滑才能看到更多内容。这时会出现一个比较特别显眼的现象,就是webView滑动到顶端、底部、左右的时候出现阴影(倒影,颜色会根据设置的主题颜色变化)了,这是Android高版本自带的“特性”。   去除阴影的方法很简单,只要与ScrollView的滑动去除阴影的方法一致的操作就行

RK3588 13.0去掉SystemUI快速设置选项

Android13.0的SystemUI下拉菜单有很多快速设置选项,有些选项对我们设备来说是多余的,用户要求去掉无用的选项,只保留Internet  Bluetooth  Screen record 去掉之前: 去掉之后: 为了去掉这些快速设置选项,试了很多地方,研究了很多代码,最后发现改这个config文件就可以去掉了 diff --git a/core/res/res/

ThinkPHP伪静态删除去掉内页url地址index.php

在使用Thinkphp后发现使用官方的伪静态规则后,手工/index.php/wxapp/11.html,这样也是能正常打开的,为了消除index.php把链接统一,可以把/index.php/wxapp/11.html301重定向到/wxapp/11.html 规则如下: #比如:https://www.uihtm.com/index.php/wxapp/,重写向到https://www.ui