已获取root权限但su命令显示“权限被拒绝”

12

我有这个“旧”的Lenovo A2107平板电脑,几年前我使用从http: // androidforums.com / threads / a2107-root-mods-and-rom-discussion.661261 / 下载的内容对其进行了Root,尽管是手动运行其root.bat脚本来自我的GNU / Linux机器),一切都很好。

然后我把这个平板电脑交给了我的女儿几年,现在我拿回来了。

/ system / bin / su仍然存在,仍然具有相同的日期和大小,仍然是“rwsr-sr-x”模式,仍然是相同的固件(Android 4.0.3),因此一切看起来都很好,但是当我尝试从shell运行它时,它只告诉我“Permission denied”。

有什么想法可能是怎么回事吗?我该怎么做以追踪它?


3
最好在http://android.stackexchange.com/上询问。 - ligi
手机还是已经被root了吗?我的意思是你试过使用“Root检测器”了吗? - Skizo-ozᴉʞS ツ
好吧,不,这就是问题所在:现在的“su”程序已经不能再像以前一样正常工作了。“RootChecker”也遇到了同样的问题(还有其他需要root权限的程序,比如system.apps移动器)。 - Stefan
3个回答

26

现如今,Magisk 常被用于获取 Root 权限。

我发现在我的 Oneplus 5(Oxygen OS,Nougat)上,只需要打开 Magisk Manager 应用,进入超级用户权限屏幕并切换 Shell(com.android.shell),就可以解决 adb su 权限被拒绝的问题。


对我来说,Magisk Manager -> Superuser 包含了 Perfdum,需要按照这个答案的指示进行切换。感谢您指引我到正确的地方。 - David Parks
Magisk没有适用于Android 4.0.3的版本。 - Fatih TAN
当我这样做时,可以通过在应用程序底部的栏中按盾牌图标(从左边数第二个按钮)来找到正确的屏幕。 - Oli

5
好的,对于那些想知道的人,我已经找出了问题所在:/system/bin/su程序要么直接接受请求(取决于谁发出请求),要么将请求传递给其他程序(Superuser.apk)。
事实证明,我仍然拥有/system/bin/su,但是缺少Superuser.apk。幸运的是,/system/bin/su可以在“adb shell”中正常工作,尽管在ConnectBot和其他终端模拟器中使用时会显示“权限被拒绝”。因此,我使用“adb shell”获取了root访问权限,并手动将Superuser.apk复制到/system/apps中。

只有一个设备可能没问题。当应用程序正在安装到多个设备上时,如何复制超级用户apk? - Manpreet Singh Dhillon
你的意思是“将Superuser.apk复制到/system/app中”吗?因为没有system/apps文件夹。 - Fatih TAN
我记不清确切的位置了,而且我也没有这个设备了,但是许多其他的*.apk文件都可以在/system子目录中找到。 - Stefan

3

顺便说一句...我曾经遇到过类似的问题(从ADB shell运行'su'时提示“权限被拒绝”),所以我将描述我的解决方案。

为了背景,我已经用CyanogenMod重新刷了我的Galaxy Nexus.

然后,我查看了系统设置,其中包含一个“超级用户”部分;在该部分自己的设置中(小菜单),有一个“超级用户访问”选项,该选项设置为“仅限应用程序”。我将其更改为“应用程序和ADB”,然后我就能够启动一个ADB shell,并且从该shell中,我现在可以运行'su'了。 :-)


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