当前位置:   article > 正文

android su 没有权限,android - 无法在需要SU权限的Termux中执行脚本 - 堆栈内存溢出...

no su program found on this device. termux

因此,我通常不发布信息,而是花费数小时在论坛上拖网寻找答案-但我完全不知所措。

我想做的事:

真的很简单,我想要一个可以自动更改OnePlus 5上MAC地址的脚本,我已经拥有执行此命令所需的所有命令,并且可以轻松手动完成它,但是让脚本来执行此操作? 好家伙...

我尝试过的

这些是在termux中手动运行时可以给我所需结果的命令:

ip link set dev wlan0 down

macchanger --random wlan0

ip link set dev wlan0 up

现在,我不使用IP链接集dev wlan0地址xx:xx:xx:xx:xx:xx:xx的原因是因为我必须输入一个地址,而macchanger可以自动生成该地址。 (我没有Unix-foo以编程方式生成MAC地址)。

因此,我按时间顺序执行了以下操作:

1)使用这些命令在nano中创建脚本。

2)使用chmod + x changeMAC.sh使脚本可执行

当执行时,这将给出“访问被拒绝”错误消息。

3)首先尝试进入SU,然后执行脚本,由于在调用su时termux失去了环境,因此会出现“ macchanger”未找到的错误。 因此,我安装了tsu包装器,该包装器允许您在维护环境的情况下调用tsu并获取su,相当于su --preserve-environment。

但是,这是我开始从桌子上摔下头的地方。

如果我在termux终端中执行以下操作:

tsu

./changeMAC.sh

终端只是坐在那里,什么也不做。 如果然后输入“ exit”并按回车键,则会收到三则“ Access Denied”错误消息。

我试图避免该错误:

4)使用AutoInput像用户一样键入termux,但它拒绝这样做。

5)直接从Tasker> Run Shell执行Shell命令,但我怀疑这不起作用,因为macchanger软件包未安装在Tasker Shell的范围内。

6)直接使用su --preserve-environment,但同样的事情也会发生!

因此,总结一下我的脚本如下所示:

\#!/data/data/com.termux/files/usr/bin/sh

sleep 1

ip link set dev wlan0 down

sleep 1

macchanger --random wlan0

sleep 1

ip link set dev wlan0 up

exit

但:

1)不适用于标准特权

2)当使用tsu / su --preserve-environment时,似乎没有执行,当tsu实例退出时却给出了错误,尽管它在执行之前等待实例结束...

3)从tsu实例手动执行时,工作正常。

我想我对Unix / Linux / Android的复杂性了解得不够多,无法理解为什么它不起作用并因此予以纠正。

任何帮助是极大的赞赏。

最好,

H。

电话详细信息:

植根于Magisk的OnePlus 5

ElementalX内核

xXx NoLimits自定义ROM

编辑1:

我已经从https://gitlab.com/st42/termux-sudo尝试了“ sudo”,但是这需要su,然后找不到macchanger,我回到正题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/243999
推荐阅读
相关标签
  

闽ICP备14008679号