Me gustaría ejecutar Termux como root: ¿es posible?

Me gustaría tener un servidor SSH, HTTP y SMB en puertos estándar en mi teléfono.

¿Hay alguna manera de ejecutar Termux como root y hacer que los servidores se ejecuten en puertos privilegiados?

Ejecutar Android 7.1 rooteado en un dispositivo desbloqueado.

Respuestas (3)

El valor predeterminado sude Termux es simple. Cuando se ejecuta, trae /system/bin/shpara usted en lugar del shell de Termux (típicamente bash). Para resolver este problema, puede instalar el contenedor su personalizado para Termux por

apt instalar tsu

Y luego puede ejecutar tsupara que su bashy todo esté ahora bajo privilegio de root.

Más información:
use un editor (como vim) para ver /data/data/com.termux/files/usr/bin/suy encontrará que en la línea 10, llama exec su $@directamente mientras está en tsu, realiza la detección de shell y en la línea 80, se ejecuta

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

para preservar el medio ambiente de Termux.

Acabo de resolver el mismo problema para mí. tsu no funcionó para mí. Encontré este proyecto: https://github.com/st42/termux-sudo

También quería ejecutar sshd como root. Está listo para usar con termux-sudo pero no quería usar el archivo authorized_keys al principio, porque los permisos para él y todos sus directorios principales no estaban restringidos a la raíz (y en mi dispositivo el directorio / no puede ser restringido a root 700, porque entonces el software del reproductor multimedia ya no funciona por alguna razón).

Así que tuve que agregar la opción StrictModes noal archivo de configuración sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_config¡y ahora funciona! :)

esto ayudó, y debería ser la respuesta aceptada

Una vez que ejecuta su, lo saca de la subcapa de termux. Puede probar SELinux permisivo, así es como evito el permiso denegado.

Entonces, como escribo su, luego el superusuario me pide permiso de root, se lo doy y luego tengo que ejecutar los servidores como root. ¿O una vez que hice eso, puedo ejecutar servidores con un usuario normal pero aún pueden obtener puertos privilegiados?