我有一个已经root过的平板电脑,只要连接上就会自动授予adb root访问权限。
当我输入adb shell时,会出现下面这样的提示:
root@android:/#
我可以使用su命令,没有出现任何权限错误的提示。
但是当我尝试执行一张已经拥有所有权限的sd卡中的文件时,会出现“Permission Denied”的提示。
这是为什么?
我有一个已经root过的平板电脑,只要连接上就会自动授予adb root访问权限。
当我输入adb shell时,会出现下面这样的提示:
root@android:/#
我可以使用su命令,没有出现任何权限错误的提示。
但是当我尝试执行一张已经拥有所有权限的sd卡中的文件时,会出现“Permission Denied”的提示。
这是为什么?
SD卡已使用noexec标志挂载,这意味着您不能执行存储在其中的文件。
当以root或半特权shell运行时,此事情变得更加重要,因为缺少文件权限或所有权意味着任何具有写外部存储权限的用户ID都可能使您想要运行的程序木马化。
另外,默认shell的错误词汇量有限,在许多版本中也会将permission denied作为command not found的替代语。您当前的工作目录不在搜索路径中,因此如果要从该目录运行某些内容,通常需要执行以下操作:
./filename
adb root
。 - Alex Lockwood