Sandboxing de aplicaciones en Android

Encontré una línea en esta página .

"El sistema Android asigna una identificación de usuario (UID) única a cada aplicación de Android y la ejecuta como ese usuario en un proceso separado. Este enfoque es diferente de otros sistemas operativos (incluida la configuración tradicional de Linux), donde varias aplicaciones se ejecutan con el mismo Permisos de usuario."

¿Alguien puede explicar qué significa la primera línea?

Respuestas (1)

Cada aplicación que está instalada en su teléfono obtiene un UID.

Es un número que Android usa para identificar las aplicaciones para que pueda verificar desde qué aplicaciones se ejecutan los comandos y verificar los permisos de la aplicación para ver si esa aplicación puede ejecutar el comando. Los privilegios de las aplicaciones están bastante restringidos en Android. No pueden ver las carpetas de datos de otras aplicaciones, no pueden modificar el sistema y no pueden hacer nada si el usuario no les da permiso.

Por ejemplo, cuando se instala la aplicación X , obtiene el UID 10000 .

Android crea una carpeta de datos y otra de caché para esta aplicación. Cada vez que una aplicación quiere acceder a estas carpetas, Android verifica el UID de la aplicación. Si no es UID 10000 , entonces Android niega el permiso.

Este es un buen mecanismo de defensa que restringe las capacidades de aplicaciones posiblemente maliciosas que se instalaron. Todas las aplicaciones tienen acceso restringido a casi cualquier cosa que ellas mismas no trajeron al dispositivo en primer lugar.

Más aún, el propio usuario tiene acceso limitado al teléfono. Entonces un usuario que no sabe lo que está haciendo no puede hacer daño.

De aquí es de donde viene todo el concepto raíz . root es un usuario especial con UID 0 y sus capacidades no están restringidas por el sistema operativo, lo que le permite modificar el sistema y otras aplicaciones.