首页 > 编程知识 正文

ubuntu 禁用nouveau,selinux关闭有什么效果

时间:2023-05-03 22:43:21 阅读:18000 作者:2908

Android7关闭selinux (设置为永久模式)

若要将selinux设定为“容忍模式”,必须修改以下两个文件:

Android/system/core/init/Android.MK

安卓/系统/酷睿/init/init.CPP

虽然网上也有文章称要修改cmdline,但如果修改cmdline后仍然无效,则参考本文修改Android/system/core/init/Android.MK可能会生效。 本文不解释如何修改cmdline。 因为我也不会这么做[掩面笑]

------------- 2019---- 12---- 31补充

这次补充没有本人验证,不保证正确

cmdline是设备/qcom /平台/BoardConfig.mk,例如高通的8953平台:

设备/qcom/MSM 8953 _ 64/board config.MK

IFEQ($ ) target_quectel_build_fastboot ),userfastboot ) ) ) ) )。

board _ kernel _ cmdline :=console=tty HSL 0,115200,n8 Android boot.console=tty HSL0quietandroidboot.hardware=

else

board _ kernel _ cmdline :=console=tty HSL 0,115200,n8 Android boot.console=tty HSL0Android boot.hardware=qcom mom

最终幻想

相关的c文件: bootable/boot loader/lk/app/aboot/aboot.c

------------- 2019---- 12---- 31补充

区别如下。 我会详细说明的,请继续往下看

diff-- gita/system/core/init/Android.mkb/system/core/init/Android.MK

index fbb3a28.8d68f72 100644

--- a/system/core/init/Android.MK

b/system/core/init/Android.mk

@ @-7,77,7 @ @ local _ path :=$ (call my-dir )

ifneq (,$ ) $ (过滤器用户调试eng,$ ) $(TARGET_BUILD_VARIANT ) )

init _ options=-dallow _ local _ prop _ override=1- dallow _ permissive _ selinux=1

else

- init _ options=-dallow _ local _ prop _ override=0- dallow _ permissive _ selinux=0

init _ options=-dallow _ local _ prop _ override=0- dallow _ permissive _ selinux=1

最终幻想

init_options =-DLOG_UEVENTS=0

diff-- gita/system/core/init/init.cppb/system/core/init/init.CPP

索引23fa FBA . 8010 fa9 100755

--- a/system/core/init/init.cpp

b/system/core/init/init.cpp

@ @-421,7421,7 @ @ staticvoidselinux _ init _ all _ handles (void ) () ) ) ) ) ) 0

enum selinux _ enforcing _ status { selinux _ permissive,SELINUX_ENFORCING };

静态selinux _ enforcing _ status selinux _ status _ from _ cmdline (

- selinux _ enforcing _ status status=selinux _ enforcing;

selinux _ enforcing _ status status=selinux _ permissive;

import_kernel_cmdline(false,[ (常数STD 33603360 string key,常数STD : string value,bool in_qemu ) ) )

if (key==' Android boot.selinux ' value==' permissive ' )。

首先浏览system/core/init/init.cpp

enum selinux _ enforcing _ status { selinux _ permissive,SELINUX_ENFORCING };

静态selinux _ enforcing _ status selinux _ status _ from _ cmdline (

selinux _ enforcing _ status status=selinux _ permissive; //标记1

import_kernel_cmdline(false,[](constSTD33603360stringkey,const std:string value,bool in_qemu ) )/STD

if (key==' Android boot.selinux ' value==' permissive ' )//标记3

status=SELINUX_PERMISSIVE;

}

);

返回状态;

}

(saticboolselinux _ is _ enforcing (void ) ) ) ) ) ) ) ) 65

{

if(allow_permissive_selinux(//标记4 )

return selinux _ status _ from _ cmdline (==selinux _ enforcing;

}

返回真; //标记5

}

代码说明:

注释1 :此处的原始值为SELINUX_ENFORCING,如果更改为SELINUX_PERMISSIVE,则默认情况下处于容忍模式

注释2 :现在从cmdline读取参数

注释3 )从cmdline导入到androidboot.selinux时,status处于容忍模式,cmdline的默认androidboot.selinux值为空,因此更改前的默认值为selinus

注意4 :如果此处为真,则调用selinux_status_from_cmdline。 否则,默认情况下返回ture,如果返回ture,则打开selinux

注意5 :如果在此处将其更改为false,则可以直接更改为容忍模式,但不建议进行此类更改,因此在此保留为true

请看system/core/init/Android.mk

ifneq (,$ ) $ (过滤器用户调试eng,$ ) $(TARGET_BUILD_VARIANT ) )

init _ options=-dallow _ local _ prop _ override=1- dallow _ permissive _ selinux=1

else

init _ options=-dallow _ local _ prop _ override=0- dallow _ permissive _ selinux=1#标记1

最终幻想

代码说明:

注释1 :其中-DALLOW_PERMISSIVE_SELINUX定义ALLOW_PERMISSIVE_SELINUX的值。 该值最初为0,在编译user版本时,该值为0,该值位于system/core/iinux中,system/core/init/init.cpp为selinux _ status, 否则,对system/core/init/init.cpp的更改没有任何意义

完成以上修改后,编译并写入设备,在设备端执行“获得增强”(getenforce ),如果结果为Permissive,则修改成功

$ getenforce

永久的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。