ADB以root身份运行仍然遭到权限拒绝的问题

5

我有一个已经root过的平板电脑,只要连接上就会自动授予adb root访问权限。

当我输入adb shell时,会出现下面这样的提示:

root@android:/#

我可以使用su命令,没有出现任何权限错误的提示。

但是当我尝试执行一张已经拥有所有权限的sd卡中的文件时,会出现“Permission Denied”的提示。

这是为什么?


也许尝试重新启动设备...或执行adb root - Alex Lockwood
1个回答

8

SD卡已使用noexec标志挂载,这意味着您不能执行存储在其中的文件。

当以root或半特权shell运行时,此事情变得更加重要,因为缺少文件权限或所有权意味着任何具有写外部存储权限的用户ID都可能使您想要运行的程序木马化。

另外,默认shell的错误词汇量有限,在许多版本中也会将permission denied作为command not found的替代语。您当前的工作目录不在搜索路径中,因此如果要从该目录运行某些内容,通常需要执行以下操作:

./filename 

我遇到了同样的问题,与你的答案无关。首先,我随机遇到了这个错误。其次,我的adb在本地硬盘上运行,即使我cd到platform-tools目录后,以root身份运行./adb,也会显示"权限被拒绝"。没有adb在运行,并且所有权限都是777... 在我看来,这是一个adb的bug。 - Luis A. Florit
@LuisA.Florit,您似乎在开发机器上遇到了权限问题,这是一个完全不同的问题,与本页面所问的程序在设备上执行时的权限有关,例如通过adb进行通信的shell。 - Chris Stratton
关于我的问题,是哪个“开发机器上的权限问题”不允许我以root身份执行文件,并且使用777权限??而且是随机的?即使作为普通用户,我也可以在平台工具目录中创建文件,但无法以root身份执行可执行文件!据我所知,在Linux中,这是不可能的健康程序。实际上,我搜索了一下,这是一个常见的问题。ADB bug,我认为。但我理解OP可能有不同于我的问题。 - Luis A. Florit
你的评论与主题无关,请在搜索ADB安装问题的相关问题后,如果没有匹配项,请自行提问。 - Chris Stratton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接