2012-07-10 165 views
5

我有一个根连接的平板电脑,只要它连接,就会立即生成adb根。尽管以root身份运行,但ADB获得权限被拒绝

当我键入亚行壳 我得到 根@安卓/#

我能做苏 并没有显示我的任何权限错误

但是,当我尝试执行上的一个文件已经被授予所有权限的SD卡。 我得到的权限被拒绝

为什么会发生这种情况?

+0

也许尝试重新启动设备...或执行'ADB root'。 – 2012-07-10 14:23:25

回答

8

sdcard挂载noexec标志,这意味着你不能执行存储在那里的东西。

作为root甚至半特权shell运行时,这是非常重要的,因为缺少文件权限或所有权意味着任何具有写入外部存储权限的用户标识可能会木马化您可能要运行的程序。

另一方面,默认的shell有一个有限的错误词汇表,在许多版本中也会说权限被拒绝作为没有找到的命令的替代。您当前的工作目录是不是在搜索路径,所以,如果你想从那里运行的东西,你通常需要做的:

./filename 
+0

我有同样的问题,与您的答案无关。首先,我随机得到这个错误。 Sencond,我的adb在本地HD上运行,甚至在cd到目录platform-tools后,以根用户运行./adb给我“权限被拒绝”。没有adb正在运行,并且所有内容都有权限777 ... IMO,这是一个adb错误。 – 2012-11-06 15:28:41

+0

@ LuisA.Florit你似乎在开发机器上有一个权限问题,这是一个完全不同的问题,与本页面询问的问题完全不同,问题涉及在设备上执行的程序的权限,例如从通过adb进行通信的shell 。 – 2012-11-06 16:40:55

+0

关于我的问题,哪个“开发机器上的权限问题”可能是不允许我以root身份执行文件,并且拥有777权限?随机?即使作为普通用户,我也可以在平台工具dir中创建文件,但不能以root身份执行可执行文件! AFAIK,在一个健康的程序中,这在Linux中是不可能的。实际上,我使用这种方法是一个常见问题。亚行的错误,海事组织。但我知道OP可能会有与我不同的问题。 – 2012-11-06 23:43:14

相关问题