5 votos

¿Cómo otorgar permisos de root a ciertas aplicaciones a través de ADB?

Tengo un Android TV box (4.4.2, armv7), y puedo iniciar sesión en el dispositivo como root a través de ADB (red local). Lo que quiero hacer es dar permiso de root a ciertas aplicaciones. ¿Cómo puedo hacerlo?

5voto

Jack Wade Puntos 231

No le concedes permiso de root a aplicaciones específicas, pero algunas aplicaciones solicitan permiso de root ejecutando el binario su. Es el desarrollador de la aplicación quien decide si la aplicación realizará algunas tareas con privilegios de root o no. Para permitir que las aplicaciones soliciten privilegios de root, necesitas rootear tu dispositivo utilizando por ejemplo Magisk, SuperSU, etc. (lo que funcione en tu dispositivo).

Cuando obtienes privilegios de root en adb (por ejemplo, ejecutando adb root o adb shell su), se ejecuta el proceso adbd en el dispositivo como usuario root (UID 0). Por lo tanto, todos los comandos que ejecutes a través de adb tendrán privilegios de root. Para otorgar acceso root a aplicaciones necesitas un binario especial su que no se incluye con Android.

El binario su habitual (como en cualquier sistema operativo similar a UNIX) hace una transición a UID 0 mediante la llamada al sistema setuid al kernel. Esto no es posible en Android debido a ciertas restricciones. El binario especial su (el proporcionado por soluciones de rooting como Magisk) se conecta a un demonio en segundo plano para obtener un shell de root para la aplicación solicitante, donde la aplicación puede ejecutar comandos con privilegios de root. Sin embargo, la aplicación en sí sigue ejecutándose con su propio UID (asignado en el momento de la instalación).

Para más detalles, consulta:

0 votos

Gracias por responder, y encontré un archivo llamado su cuya ubicación es /system/xbin y ejecuté chmod 777 en este archivo. Luego instalé supersu en el dispositivo, pero me advierte "su binary occupied". ¿Tengo alguna solución para solucionarlo?

1 votos

@punnpkin necesitas hacer root a tu dispositivo, utilizando por ejemplo Magisk o SuperSU. El su binario que ya viene incluido en Android no se puede utilizar con SuperSU. Ellos proveen sus propios binarios su. Eso es lo que intenté explicar en la respuesta. Para más detalles, consulta las respuestas enlazadas.

0 votos

Está bien, lo aprendí. De hecho, estoy buscando una forma de hacer root a mi dispositivo sin cambiar la ROM (porque tiene contenido personalizado).

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X