我想以root身份运行Termux:可能吗?


10

我想在手机的标准端口上安装SSH,HTTP和SMB服务器。

有一种方法可以以root用户身份运行Termux,并让服务器在特权端口上运行?

在未锁定的设备上运行有根的Android 7.1。

Answers:


14

suTermux 的默认设置很简单。运行时,它将/system/bin/sh为您带来而不是Termux的shell(通常是bash)。要解决此问题,您可以通过以下方式为Termux安装自定义su包装器:

apt安装tsu

然后,您可以运行,tsu以便您bash和所有内容现在都具有root特权。

进一步的信息:
使用编辑器(如vim)进行查看/data/data/com.termux/files/usr/bin/su,您会发现在第10行,它exec su $@在中直接调用tsu,它执行外壳检测,在第80行,它运行

exec su --preserve-environment -c“ LD_LIBRARY_PATH = $ PREFIX / lib $ ROOT_SHELL”

保护Termux环境。


4

我只是为自己解决了同样的问题。tsu没帮我。我找到了这个项目:https : //github.com/st42/termux-sudo

我也想以root身份运行sshd。它是开箱即用的termux-sudo,但一开始它并不想要使用authorized_keys文件,因为对它及其所有父目录的权限不限于root(在我的设备上,/目录不能受到限制)到根700,因为那样由于某种原因,mediaplayer软件将不再起作用)。

因此,我不得不将该选项添加StrictModes no到sshd配置文件中:/data/data/com.termux/files/usr/etc/ssh/sshd_config现在它可以工作了!:)


这有所帮助,应该是公认的答案
ArtDeineka '18

0

一旦运行su,它将带您离开termux子外壳。您可以尝试SELinux宽容,这就是我解决权限被拒绝的方法。


因此,就像我键入su一样,然后超级用户向我询问root权限,我给了它,然后我必须以root用户身份运行服务器?还是一旦我做到了,我就可以以普通用户身份运行服务器,但它们仍然可以获得特权端口?
Magnetic_dud
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.