Ich möchte Termux als root ausführen: möglich?

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.

Antworten (3)

Der Standard suvon Termux ist einfach. Wenn es ausgeführt wird, bringt es /system/bin/shfü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 bashund alles jetzt unter Root-Rechten steht.

Weitere Informationen:
Verwenden Sie einen Editor (wie vim), um zu sehen, /data/data/com.termux/files/usr/bin/suund Sie werden feststellen, dass er in Zeile 10 exec su $@direkt aufruft, während tsuer 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 nozur sshd-Konfigurationsdatei hinzufügen: /data/data/com.termux/files/usr/etc/ssh/sshd_configund jetzt funktioniert es! :)

Dies hat geholfen und sollte die akzeptierte Antwort sein

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.

Also wenn ich su eingebe, dann fragt mich der Superuser nach Root-Rechten, ich gebe sie, und dann muss ich die Server als Root ausführen? Oder sobald ich das getan habe, kann ich Server mit normalem Benutzer ausführen, aber sie können immer noch privilegierte Ports erhalten?