【问题标题】:root privilege with su具有 su 的 root 权限
【发布时间】:2016-11-20 10:29:34
【问题描述】:

我在安卓设备上使用 su ,busybox。 但是在做“su”时,似乎我没有root权限:

shell@nemo:/ $ su
1|shell@nemo:/ $

1|shell@nemo:/ $ whoami
shell
shell@nemo:/ $

EDIT1

似乎 su 中的特权是可以的。请看下面,来自 adb shell:shell@nemo:/system/xbin $ ls -al su -rwxr-xr-x root root 75364 2015-11-21 13:10

EDIT2

我设置了7777权限(suid),还是失败了。

chmod 7777 su-arm

 shell@nemo:/ $ ls -al /system/xbin/su-arm
-rwsrwsrwt root     shell      467952 2016-11-20 12:01 su-arm
shell@nemo:/ $ su-arm
255|shell@nemo:/ $ id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0
shell@nemo:/ $whoami
shell

EDIT3: 我已经更新了 su 二进制和 busybox 二进制,但现在每个都失败了:

shell@nemo:/ $ busybox su
su: unknown user root
1|shell@nemo:/ $ su
error: only position independent executables (PIE) are supported.
1|shell@nemo:/ $

我如何理解 su 出了什么问题以及如何解决它?

谢谢, 兰楚

【问题讨论】:

  • 你真的需要超级用户权限吗?如果是这样,那么您是否尝试过运行这些命令?
  • 是的,我确实需要这个。我怎样才能开始了解问题所在?

标签: android root


【解决方案1】:

您必须以 root 权限安装“su”。

使用普通用户权限复制 su 并不意味着“root 设备”。

我认为您的问题应该是“我怎样才能根植我的设备?”

【讨论】:

  • 对,我尝试root设备。我在su中有正常的特权。请看下面,来自 adb shell:shell@nemo:/system/xbin $ ls -al su -rwxr-xr-x root root 75364 2015-11-21 13:10 su
  • 我看到你的 su 二进制文件不是 SUID,这就是你无法运行 root shell 的原因。
  • 你怎么看出来的。现在尝试使用 Supersu 的另一个构建,我又得到另一个错误:shell@nemo:/ $ su 错误:仅支持与位置无关的可执行文件 (PIE)。 1|shell@nemo:/$
  • superuser.phh.me 获取最新版本的 su (superuser-r259.zip),我仍然得到相同的行为。
  • 我设置了 suid permssion (chmod 7777),但仍然失败。 ls -al /system/xbin/su-arm -rwsrwsrwt root shell 467952 2016-11-20 12:01 su-arm shell@nemo:/$ su-arm 255|shell@nemo:/$.我已经编辑了消息。
【解决方案2】:

busybox su/etc/passwd 中寻找root 用户。在我的安卓设备上,这个文件不存在。您只需运行即可创建一个虚拟的root 条目

echo 'root:x:0:0:root:/root:/system/bin/sh' > /etc/passwd

在这之后,su 很高兴。

【讨论】:

    最近更新 更多