Je voudrais exécuter Termux en tant que root: possible?

10

J'aimerais avoir un serveur SSH, HTTP et SMB sur les ports standard de mon téléphone.

Existe-t-il un moyen d'exécuter Termux en tant que root et d'exécuter les serveurs sur des ports privilégiés?

Exécution d'Android 7.1 enraciné sur un appareil déverrouillé.

Magnetic_dud
la source

Réponses:

14

La valeur supar défaut de Termux est simple. Lorsqu'il est exécuté, il vous apporte /system/bin/shau lieu du shell de Termux (généralement bash). Pour résoudre ce problème, vous pouvez installer le wrapper su personnalisé pour Termux en

apt install tsu

Et puis vous pouvez exécuter tsuafin que votre bashet tout soit maintenant sous privilège root.

Pour plus d'informations:
utilisez un éditeur (comme vim) pour voir /data/data/com.termux/files/usr/bin/suet vous constaterez qu'à la ligne 10, il appelle exec su $@directement tandis que dans tsu, il effectue la détection du shell et à la ligne 80, il s'exécute

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

pour préserver l'environnement Termux.

iBug
la source
4

Je viens de résoudre le même problème pour moi. tsu n'a pas fonctionné pour moi. J'ai trouvé ce projet: https://github.com/st42/termux-sudo

Je voulais également exécuter sshd en tant que root. Il est prêt à l'emploi avec termux-sudo mais il ne voulait pas utiliser le fichier authorized_keys au début, car les autorisations sur celui-ci et tous ses répertoires parents n'étaient pas limités à root (et sur mon appareil, le répertoire / ne peut pas être restreint pour rooter 700, car alors le logiciel mediaplayer ne fonctionne plus pour une raison quelconque).

J'ai donc dû ajouter l'option StrictModes noau fichier de configuration sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_configet maintenant ça marche! :)

Kaefert
la source
cela a aidé et devrait être la réponse acceptée
ArtDeineka
0

Une fois que vous exécutez su, il vous sort du sous-shell termux. Vous pouvez essayer SELinux permissive, c'est ainsi que je contourne la chose refusée.

Ben Baltz
la source
Donc, comme je tape su, le superutilisateur me demande l'autorisation root, je lui donne, puis je dois exécuter les serveurs en tant que root? Ou une fois que je l'ai fait, je peux exécuter des serveurs avec un utilisateur normal, mais ils peuvent toujours obtenir des ports privilégiés?
Magnetic_dud