Es bien sabido que cada aplicación de Android es su propio usuario. Tengo el emulador de terminal Android instalado como usuario u0_a5 .
u0\_a5@android:/ $ whoami
u0\_a5
u0\_a5@android:/ $ groups
u0\_a5 sdcard\_rw sdcard\_r inet all\_a5
Bajo adb, cualquier intento de utilizar el su para iniciar la sesión como emulador de terminal de Android sólo tiene éxito en parte. Como muestra la siguiente sesión adb, los grupos de permisos a los que pertenece Android Terminal Emulator no se heredan, excepto el usuario por defecto u0_a5 grupo.
root@android:/ # su - u0\_a5
Unknown id: u0\_a5
1|root@android:/ # su - 10005
app\_5@android:/ $ whoami
u0\_a5
app\_5@android:/ $ groups
u0\_a5
Como usuario 10005 Puedo borrar los archivos propiedad del usuario u0_a5 . Pero no puedo ejecutar comandos que requieren permisos especiales de Android, como "busybox wget protocol://some.uri", que requiere que una aplicación pertenezca al inet grupo.
Entonces, ¿hay alguna manera de suplantar y ejecutar una aplicación bajo su entorno de permisos específicos? ¿O es la ejecución con todos los permisos Root mi única (no) opción?