1 votos

Una vez que una aplicación pide Root, ¿por qué pide otros permisos?

Veo aplicaciones que requieren tanto de root como de los permisos regulares.

¿Qué sentido tiene, ya que Root implica que puede hacerlo todo?

3voto

Andy Brudtkuhl Puntos 1714

Los permisos en Android afectan principalmente a la funcionalidad dentro del marco de trabajo de Android y otras aplicaciones. Ser Root no puede darte acceso directamente a ese Android y a la funcionalidad de la aplicación, porque te otorga un acceso al sistema de menor nivel.

Por ejemplo, considere una aplicación que quiera acceder a sus contactos. Cuando intenta consultar los contactos proveedor (la base de datos de contactos), la aplicación de almacenamiento de contactos requiere que tenga el permiso apropiado. En términos del sistema Unix, cada aplicación tiene su propia identificación de usuario, y los permisos están representados por grupos Unix, por lo que realmente está comprobando si el usuario de la aplicación es miembro del grupo apropiado. Si la aplicación no tiene ese permiso, la comprobación fallará, aunque la aplicación podría iniciar un shell de root cuando quiera.

Ahora, como la aplicación tiene Root, es posible que se añada a los grupos que quiera, antes de intentar acceder a los contactos, pero eso es innecesariamente largo. Es simplemente mucho más fácil para la aplicación solicitar el permiso y ser añadido al grupo por el propio Android.

Además, es bueno para la seguridad si la aplicación usa Root lo menos posible. Lo ideal sería que hubiera un pequeño componente de la aplicación que se iniciara como Root cuando fuera necesario, de modo que la mayoría de la aplicación se ejecutara normalmente (no como Root). Incluso podría ser tan simple como un único comando que se inicie como Root. De esta forma, si algo va mal con el resto de la aplicación -quizás un atacante encuentre una forma de subvertirla, o quizás sólo haya un error que pueda borrar todos tus archivos- no tiene los poderes mágicos de Root para infectar o dañar todo el sistema, ya que sigue estando protegida por el mecanismo de seguridad normal.

En resumen: es posible que la aplicación se conceda a sí misma cualquier permiso usando Root, pero es más fácil para el programador, y mejor para la seguridad, si el programa sólo usa Root cuando es necesario.

1voto

HasH_BrowN Puntos 1278

La razón es que root es el nivel del sistema, por lo general la parte que los usuarios no tienen control sobre. Los otros permisos son necesarios para acceder al nivel de usuario, sobre el cual los usuarios sí tienen control.

Siempre que permitas el acceso a una aplicación Root/superuser asegúrate de que entiendes lo que hará y haz una copia de seguridad.

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