起因
起因是群友在 Termux 中安装 chroot 容器时,tsu 命令无法正常提权,导致安装失败。
经确认,已经赋予了 Termux root 权限,su 命令是能够成功提权的,但 sudo 和 tsu 不行。
大致思路
我的 K30 Pro 也是通过 Magisk Alpha 获取 root 权限的,同样遇到了这个问题。正当我一筹莫展的时候,酷安上的 这个帖子 给了我思路。tsu 有一个配置文件,从指定路径搜索 su 的二进制文件,来进行提权。
如果指定路径里找不到 su 的二进制文件,就会提权失败。既然手机已经 root 了,说明 su 这个文件肯定是存在的,只是在其他路径中,只要把这配置文件中把这个路径加上就行了。
如何解决
首先需要安装 tsu
pkg install tsu
等待安装完成。
切换到 root 环境中,查找 su 二进制文件的位置
su
which su可以得知 su 的二进制文件其实是在
/debug_ramdisk/su下。

编辑 tsu 文件
nano $PREFIX/bin/tsu
找到
SU_BINARY_SEARCH=("/system/xbin/su" "/system/bin/su")这一行,并将其改为SU_BINARY_SEARCH=("/system/xbin/su" "/system/bin/su" "/debug_ramdisk/su)"。

如果你不习惯命令行编辑器,也可以用 MT 管理器修改。
修改前:

修改后:

可以看到,现在 sudo 能正常提权了。

本文作者:Tony
文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。
评论