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

10

Ich möchte einen SSH-, HTTP- und SMB-Server an Standardports auf meinem Telefon haben.

Gibt es eine Möglichkeit, Termux als Root auszuführen und die Server an privilegierten Ports auszuführen?

Ausführen von gerootetem Android 7.1 auf einem entsperrten Gerät.

Magnetic_dud
quelle

Antworten:

14

Die Standardeinstellung suvon Termux ist einfach. Wenn es ausgeführt wird, bringt es /system/bin/sh(normalerweise bash) anstelle der Termux-Shell . Um dieses Problem zu beheben, können Sie den benutzerdefinierten su-Wrapper für Termux von installieren

apt install tsu

Und dann können Sie ausführen, tsusodass Ihr bashund alles jetzt unter dem Root-Privileg steht.

Weitere Informationen:
Verwenden Sie einen Editor (wie vim), um zu sehen /data/data/com.termux/files/usr/bin/su, dass in Zeile 10 exec su $@direkt aufgerufen wird tsu, während der Shell ausgeführt wird, 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.

iBug
quelle
4

Ich habe gerade das gleiche Problem für mich gelöst. Tsu hat für mich 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 zunächst nicht die Datei "authorized_keys" verwenden, da die Berechtigungen für das Programm 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! :) :)

kaefert
quelle
Dies half und sollte die akzeptierte Antwort sein
ArtDeineka
0

Sobald Sie su ausführen, verlassen Sie die Termux-Subshell. Sie können versuchen, SELinux freizügig, so komme ich um die Sache mit der verweigerten Erlaubnis herum.

Ben Baltz
quelle
Also, wie ich su eingebe, dann fragt mich der Superuser nach der Root-Erlaubnis, ich gebe es und dann muss ich die Server als Root ausführen? Oder wenn ich das getan habe, kann ich Server mit normalen Benutzern ausführen, aber sie können trotzdem privilegierte Ports erhalten?
Magnetic_dud