Vorrei avere un server SSH, HTTP e SMB su porte standard sul mio telefono.
C'è un modo per eseguire Termux come root e far funzionare i server su porte privilegiate?
Esecuzione di Android 7.1 con root su un dispositivo sbloccato.
Vorrei avere un server SSH, HTTP e SMB su porte standard sul mio telefono.
C'è un modo per eseguire Termux come root e far funzionare i server su porte privilegiate?
Esecuzione di Android 7.1 con root su un dispositivo sbloccato.
Risposte:
L'impostazione predefinita su
di Termux è semplice. Quando eseguito porta /system/bin/sh
per te invece della shell di Termux (in genere bash
). Per risolvere questo problema, puoi installare il su wrapper personalizzato per Termux da
apt install tsu
E quindi puoi eseguire in tsu
modo che il tuo bash
e tutto sia ora sotto il privilegio di root.
Ulteriori informazioni:
Usa un editor (come vim
) per vedere /data/data/com.termux/files/usr/bin/su
e scoprirai che alla linea 10, chiama exec su $@
direttamente mentre è dentro tsu
, esegue il rilevamento della shell e alla linea 80, gira
exec su --preserve-environment -c "LD_LIBRARY_PATH = $ PREFIX / lib $ ROOT_SHELL"
per preservare l'ambiente Termux.
Ho appena risolto lo stesso problema per me stesso. tsu non ha funzionato per me. Ho trovato questo progetto: https://github.com/st42/termux-sudo
Inoltre volevo eseguire sshd come root. È pronto all'uso con termux-sudo ma all'inizio non voleva usare il file authorized_keys, perché le autorizzazioni ad esso e tutte le sue directory principali non erano limitate a root (e sul mio dispositivo la directory / non può essere limitata root 700, perché il software mediaplayer non funziona più per qualche motivo).
Quindi ho dovuto aggiungere l'opzione StrictModes no
al file di configurazione sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_config
e ora funziona! :)
Una volta eseguito su, ti porta fuori dalla subshell termux. Puoi provare SELinux permissivo, ecco come aggirare la cosa negata dal permesso.