Android L 版本后uart console 没有root 权限

Android L 版本后uart console 没有root 权限的说明.

[Keyword]
L android 5.0 uart console root
[Android Version]
Version >= android 5.0

[Solution]
在Android L 后,Google 增强了Android 系统安全性, 强制性开启了SELinux. 去除了uart console 的root 权限. 如果你需要uart console , 可以临时调整.
(1). system/core/rootdir/init.rc
service console /system/bin/sh
class core
console
disabled
user shell
seclabel u:r:shell:s0

删除后面的user shell 这行以及 seclabel u:r:shell:s0 (M 版本后不能删除)这行.
注意的是: M 版本后, seclabel u:r:shell:s0 这行不能删除, 否则console service 无法启动, 其原因是: Google 增强了这块的SELinux约束,通过使用neverallow init { file_type fs_type}:file execure_no_trans;严格限制了init 启动service 都必须进行domain 切换,否则service 无法启动.
(2). 将SELinux 设置成permissve mode, 不然你还拿不到完整的root 权限 参考FAQ:
FAQ11484 [SELinux] 如何设置确认selinux 模式
https://online.mediatek.com/Pages/FAQ.aspx?List=SW&FAQID=FAQ11484

在Android KK 4.4 版本后,Google 有正式有限制的启用SELinux, 来增强android 的安全保护。
在ENG 版本中, 可以使用setenforce 命令进行设置:
adb shell setenforce 0 //设置成permissive 模式
adb shell setenforce 1 //设置成enforce 模式

在ENG/USER 版本中,都可以使用getenforce 命令进行查询,如:
root@mt6589_phone_720pv2:/ # getenforce
getenforce
Enforcing

如果想开机一启动就设置模式,你可以用下面方式:
KK 版本:更新mediatek/custom/{platform}/lk/rules_platform.mk
L 版本: 更新bootable/bootloader/lk/platform/mt6xxx/rules.mk
M 版本: 更新vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6XXX/rules.mk

choose one of following value ->

1: disabled 2: permissive 3: enforcing

SELINUX_STATUS := 3
可直接调整这个SELINUX_STATUS这个的值为2, 严禁直接设置成1:disabled, 此会造成生成的文件无法正确的打上标签,造成在再次设置成enforcing时,难以预料的情况发生。

注意的是:
在L 版本后, Google

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值