【问题标题】:android adb shell permission deniedandroid adb shell 权限被拒绝
【发布时间】:2012-06-13 23:47:06
【问题描述】:

我在使用adb.exe 时遇到了麻烦。

我想用adb.exe shell提示符和bash一样,所以我决定改变默认的bash二进制(当然二进制是交叉编译的,一切都很完美)

按照以下顺序更改 bash 二进制文件

  1. adb remount
  2. adb push bash /system/bin/

  3. adb shell

  4. cd /system/bin
  5. chmod 777 bash
  6. mv sh sh.bak
  7. ln -s bash sh

第一次更改成功,但第二次尝试时出现问题。

我推送了新的 bash 二进制文件,但我错过了更改 bash 的权限 777,并断开了adb shell

之后

C:\Program Files (x86)\Android\android-sdk\platform-tools>adb.exe shell
- exec '/system/bin/sh' failed: Permission denied (13) -

C:\Program Files (x86)\Android\android-sdk\platform-tools>

有什么聪明的办法可以解决这个权限问题吗?

请帮帮我...

【问题讨论】:

    标签: android shell adb


    【解决方案1】:

    如果设备没有完全崩溃(/system/bin/sh 是很多事情的依赖项 - 重新启动可能不会很远!)并且系统分区仍然是可写的,您也许可以 adb push一个新的 bash 副本,您在推送之前在主机系统上根据需要设置了权限位(您可能必须使用 cygwin 甚至 linux 才能在本地拥有权限位)

    听起来设备已植根,因此您可以配置或自定义终端仿真器应用程序以使用备份 sh 为您提供会话,使用一些升级工具以 root 身份再次运行备份 sh,然后修复问题。

    如果您使用 adb 修改了恢复,您可以通过手动挂载(正常)系统分区从那里修复它。

    最后的手段是从供应商签名的原版图像中恢复。

    希望你不会被卡住,但也许你已经从这次经历中学到了 - 更改默认 shell 可能不是一个好主意。最好以不同的名称加载您的自定义 shell 并手动运行它。

    【讨论】:

    • 除了adb之外还有其他自定义终端吗?如果我的手机中有运行特定二进制文件的终端,问题将很容易解决。但是我找不到这个自定义终端,你能给我一些关于这个的关键字吗?
    • 我在 linux 中设置了权限,并将这个二进制文件推送到我的手机上。但仍然发生权限错误。我认为权限不是文件的属性。谢谢
    • 您可能有文件权限之外的其他问题,尝试推回原始android shell的副本。您从源代码构建的任何终端应用程序都应该能够对其启动的内容进行自定义,可能一些预构建的应用程序甚至将其作为菜单选项提供,尽管我不记得看到过。
    【解决方案2】:

    做这些事情的一般解决方案:删除系统应用程序和所有。

    adb shell
    mount -o rw,remount -t yaffs2 /dev/block/mtdblk4 /system
    cd /system/app/
    rm maps.apk
    mount -o ro,remount -t yaffs2 /dev/block/mtdblk4 /system
    sync
    reboot
    

    【讨论】:

    • 这无济于事,因为在我的情况下,我无法使用 adb shell 执行 shell 提示(bash 文件的权限没有可执行文件)我通过格式化整个固件解决了我的问题谢谢你的回复!
    【解决方案3】:

    如果您安装了最新版本的 CWM,则可以保存

    a) adb reboot recovery(启动手机进入恢复)

    b) 在 CWM 中恢复挂载/系统分区(使用您的手机)。

    c) adb kill-server

    d) sudo adb start-server

    e) 亚行外壳

    f) 正确设置您的权限

    我被这里https://android.stackexchange.com/questions/38085/is-it-a-hard-brick/113507#113507?newreg=6e0c0c0be98349058d3e1668532cd7dc的答案影响了

    【讨论】: