当前位置: 首页 > news >正文

口腔医院网站开发企业设计网站

口腔医院网站开发,企业设计网站,更新网站内容有什么用,网站怎么做搜索功能背景描述: 最近调试Android Vendor Hal的时候发现一个奇怪的现象: android userdebug版本刷到设备中,执行adb root没提示错误,但是没有获取到root权限。 Android设备运行的系统版本有三种情况:user版本、userdebug版本和eng版本…

背景描述:

最近调试Android Vendor Hal的时候发现一个奇怪的现象: android userdebug版本刷到设备中,执行adb root没提示错误,但是没有获取到root权限。

Android设备运行的系统版本有三种情况:user版本、userdebug版本和eng版本。user版本默认是不允许root,userdebug通常是开发调试使用版本可以做root操作。

下面以这个具体的问题出发,说明是如何确定问题的原因以及解决的方法。

先揭晓问题的原因:SELinux状态被设置成了"Enforcing",即SELinux处于强制模式,会限制root权限。

发现问题

如下,adb root执行看着是成功了,但是当执行一些需要root权限的操作时会提示Permission denied。

确认问题

1.确认设备中的系统版本是usedebug

如上,确认设备中跑的系统是userdebug版本。根据以往经验,这种版本一般是能做root操作的。

2.确认是不是root成功

如上,虽然su命令执行提示是“inaccessible or not found”不确能准确说明是“inaccessible”还是“not found”, 但是从命令行提示符可以判断执行操作的用户应该还是普通用户,而非root。正常的root用户如下:

3.检查SELinux状态

SELinux是Android4.3以后引进的Linux安全机制,Enforcing说明SELinux处于强制模式,可能会限制root权限。

至此,基本确定问题原因,接下来就是怎么改的。

解决问题

尝试临时解决

 如上,尝试临时修改的两种方法都因为权限不够失败了。这时候通过命令应该能看到SELinux拒绝相关日志 (关键词:"avc")。

尝试永久解决

根据以往经验,这时通常有两种方法修改SELinux策略为Permissive:

  1. 从bootload阶段,进入到特权模式,然后修改。  这种方法失败了,因为设备有点特殊不像手机能按键选择。
  2. 重新做个android镜像,制作镜像时设置SELinux为Permissive模式

接下来介绍怎么修改,使制作出来的android镜像SELinux模式为Permissive。

修改Android SELinux模式为Permissive步骤

1.修改镜像打包阶段板级配置脚本BoardConfig.mk中BOARD_BOOTCONFIG

如下图,在Android构建源码device/vendorX/platformX/BoardConfig.mk中有如下内容:

 将enforcing改成permissive

2.重新打包bootimage

$cd aosp
$source build/envsetup.sh
$lunch xx_userdebug
$make bootimage

3.替换boot.img到设备

使用fastboot flash刷新bootimg分区,或者使用自研工具替换boot.img到设备

补充:SELinux介绍

三种模式介绍

Disabled(禁用)模式

核心特征:SELinux完全关闭,不提供任何安全保护

行为表现:

  • 内核不加载SELinux策略  
  • 所有访问控制仅依赖传统Linux DAC (自主访问控制)
  • 不生成任何SELinux审计日志

使用场景:

  • 紧急故障排查(如:当SELinux导致系统无法启动时)
  • 性能测试(消除SELinux开销)

重要限制:

  • 从Disabled切换到其他状态必须重启系统
  • 禁用状态下修改的文件可能丢失安全标签

Permissive(宽容)模式

核心特征:只记录不拦截的调试模式

行为表现:

  • 完整加载并解析SELinux策略
  • 检测到策略违规时仅记录到日志而不阻止操作
  • 生成详细的avc:denied审计日志

使用场景:

  • 策略开发和调试阶段
  • 排查权限拒绝问题
  • 收集新策略所需的访问规则

操作命令:

#setenforce 0  #切换到Permissive(无需重启)
#getenforce  #切换成功的话,这里返回“Permissive”

Enforcing(强制)模式

核心特征:完全启用安全保护

行为表现:

  • 加载并强制执行SELinux策略
  • 拦截所有违反策略的操作并记录日志
  • 提供MAC(强制访问控制)保护

使用场景:

  • 生产环境(默认安全配置)
  • 安全敏感应用(金融、企业设备)
  • Google要求Android设备必须默认启用

操作命令:

#setenforce 1  #切换到Enforcing(无需重启)
#getenforce    #成功切换的话,这时返回"Enforcing"

三种模式转换关系

启用SELinux(Disabled->Permissive/Enforcing)必须重启。Permissive <-> Enforcing可通过setenforce实时切换。关闭SELinux(任何状态->Disabled)必须重启。

http://www.dtcms.com/a/552032.html

相关文章:

  • 用wordpress编写网站图文广告加盟哪家好
  • 百度自己网站排名wordpress 获取备案号
  • 易语言如何做验证系统官方网站网站宽屏
  • 做摄影网站河北石家庄有什么好玩的地方
  • 做咩有D网站响网吧上不了jsp做网站用什么封装字符串
  • 网站设计制作费一元购网站的建设
  • 建设一个小说网站的步骤网络优化的内容包括哪些方面
  • 做医药行业找药的网站百度seo公司哪家强一点
  • 吉林大学学院网站建设群手机网站大全网站
  • 集团网站建网站管理系统制作软件下载
  • 制作网站民治唐山建设造价信息网的网站
  • 做网站用的字体是什么wordpress 删除revision
  • wordpress 切换域名青岛网站优化公司
  • 杭州建设网站的公司哪家好母版页做网站例子
  • 环球培训机构官网seodg官网
  • 深圳坪山站linux做网站1G内存够不
  • 中国建设企业网站保定商城网站建设
  • 国外做电商网站有哪些方面家教网站开发
  • 外贸购物网站开发大连python培训
  • 如何做好营销推广浙江网站建设 seo
  • 绩效评估评价网站建设天长seo排名
  • 网站开发程序都有什么谷歌商店paypal官网下载
  • 淘宝优惠劵网站建设网站开发中点赞怎么做到的
  • ps 制作网站wordpress 中文图片不显示
  • c 网站开发哪些框架上海移动端网站建设
  • 无锡手机网站电子商务网站怎么做数据库
  • 宝安区建设网站南京网站设计公司哪家好
  • 专题网站建设解决方案金寨建设工程质量监督站网站
  • 朋友说做网站什么的怎么赚钱东莞ui设计公司
  • 公司微网站怎么建设阳江市网络问政首页