Ich hätte gerne einen SSH-, HTTP- und SMB-Server an Standardports auf meinem Telefon.
Gibt es eine Möglichkeit, Termux als Root auszuführen und die Server auf privilegierten Ports laufen zu lassen?
Ausführen von gerootetem Android 7.1 auf einem entsperrten Gerät.
Der Standard su
von Termux ist einfach. Wenn es ausgeführt wird, bringt es /system/bin/sh
für Sie anstelle der Shell von Termux (normalerweise bash
). Um dieses Problem zu lösen, können Sie den benutzerdefinierten su-Wrapper für Termux von installieren
apt installieren tsu
Und dann können Sie so laufen tsu
, dass Ihr bash
und alles jetzt unter Root-Rechten steht.
Weitere Informationen:
Verwenden Sie einen Editor (wie vim
), um zu sehen, /data/data/com.termux/files/usr/bin/su
und Sie werden feststellen, dass er in Zeile 10 exec su $@
direkt aufruft, während tsu
er in , eine Shell-Erkennung durchführt und in Zeile 80 ausgeführt wird
exec su --preserve-environment -c "LD_LIBRARY_PATH=$PREFIX/lib $ROOT_SHELL"
um die Termux-Umgebung zu erhalten.
Ich habe gerade das gleiche Problem für mich gelöst. tsu hat bei mir nicht geklappt. Ich habe dieses Projekt gefunden: https://github.com/st42/termux-sudo
Außerdem wollte ich sshd als root ausführen. Es ist sofort einsatzbereit mit termux-sudo, aber es wollte die Datei "authorized_keys" zunächst nicht verwenden, da die Berechtigungen für sie und alle übergeordneten Verzeichnisse nicht auf root beschränkt waren (und auf meinem Gerät kann das /-Verzeichnis nicht eingeschränkt werden auf root 700, weil dann die Mediaplayer-Software aus irgendeinem Grund nicht mehr funktioniert).
Also musste ich die Option StrictModes no
zur sshd-Konfigurationsdatei hinzufügen: /data/data/com.termux/files/usr/etc/ssh/sshd_config
und jetzt funktioniert es! :)
Sobald Sie su ausführen, verlassen Sie die Termux-Subshell. Sie können SELinux permissive ausprobieren, so komme ich um die Sache mit der verweigerten Erlaubnis herum.
ArtDeineka