问题描述
我有一个根深蒂固的平板电脑,一旦它连接给亚行根。
I have a rooted tablet that gives adb root as soon as it connects.
当我键入亚行壳
我得到
根@安卓:/#
When I type adb shellI getroot@android:/#
我能做的苏
而且它不显示我的任何权限错误
I can do suand it's not showing me any permissions errors
但是,当我尝试执行上已发出的所有权限的SD卡的文件。
我得到许可被拒绝
But when I try to execute a file on an sdcard that has already been given all permissions.I get Permission Denied
为什么会出现这种情况?
Why is this happening?
推荐答案
在SD卡上安装有一个NOEXEC标志,这意味着你不能执行存储在那里的东西。
The sdcard is mounted with a noexec flag, which means you cannot execute things stored there.
为根,甚至半特权shell中运行时,由于缺少文件权限或所有权的存在意味着写入外部存储权限可以trojanize您可能要运行的程序的用户标识这是极为重要的。
This is doubly important when running as root or even the semi privileged shell, since the lack of file permissions or ownership there means any userid with the write external storage permission could trojanize the program you might want to run.
顺便说一句默认的shell有错误的,而且在许多版本也会说权限被拒绝作为命令的替代品没有找到有限的词汇。您当前的工作目录是不是在搜索路径,所以如果你想运行从那里的东西,你通常需要做的:
As an aside the default shell has a limited vocabulary of errors and in many versions will also say permission denied as a substitute for command not found. Your current working directory is not in the search path, so if you want to run something from there, you typically need to do:
./filename
这篇关于亚洲开发银行尽管获得root运行的拒绝权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!