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.
El valor predeterminado su
de Termux es simple. Cuando se ejecuta, trae /system/bin/sh
para 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 tsu
para que su bash
y 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/su
y 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 no
al archivo de configuración sshd: /data/data/com.termux/files/usr/etc/ssh/sshd_config
¡y ahora funciona! :)
Una vez que ejecuta su, lo saca de la subcapa de termux. Puede probar SELinux permisivo, así es como evito el permiso denegado.
ArteDeineka