El valor predeterminado su
de Termux es simple. Cuando se ejecuta, trae /system/bin/sh
para ti en lugar del shell de Termux (normalmente bash
). Para resolver este problema, puede instalar el contenedor personalizado su para Termux
apt install tsu
Y luego puede ejecutar tsu
para que su bash
y todo esté ahora bajo el privilegio de root.
Más información:
use un editor (me gusta 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á dentro 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 ambiente de Termux.
Una vez que ejecutas su, te saca de la subshell termux. Puedes probar SELinux permisivo, así es como evito el permiso denegado.
fuente