Probablemente haya escuchado algunas conversaciones sobre root y la última versión de Android, y tal vez incluso haya escuchado cosas como "la muerte de root". Las cosas han cambiado, y las nuevas características de seguridad en Android ahora limitan lo que los procesos con privilegios de superusuario pueden hacer en la partición del sistema. Trataré de explicar algo de esto lo mejor que pueda sin arrojar demasiadas palabras que nadie (bueno, casi nadie) entenderá. Sin embargo, parte de esto es inevitable.
Es posible que deba verter una rígida para esto.
Todas las aplicaciones de Android se bifurcan desde un proceso del sistema conocido como cigoto. En Android 4.3, las cosas cambiaron y ahora zygote tiene una nueva política de seguridad. Aunque podemos bifurcar un proceso con privilegios suid (superusuario), las nuevas restricciones limitan lo que podemos hacer con él. Este es todo el punto de SELinux, que es algo bueno para la seguridad del usuario. Nuestro nuevo proceso (piense en ello como la aplicación raíz que está intentando ejecutar) técnicamente tiene acceso raíz, pero en realidad no puede hacer nada útil con él. Esta es una muy buena manera de proteger el sistema de procesos deshonestos que no desea, como en ZOMGMALWARE potencial, tener acceso a todo.
Se habla de dos maneras de evitar este nuevo conjunto de políticas de seguridad. Una es que el acceso raíz a través del shell, donde ha conectado su teléfono a una computadora y utiliza la línea de comando para comunicarse, todavía funciona bien. Puede elevar su estado de usuario y hacer las mismas cosas que siempre podría hacer a través de adb. Y es muy poco probable que eso no suceda sin que lo sepas.
La otra forma es con un demonio su.
Un daemon es un proceso en segundo plano que no está bajo el control directo del usuario activo. Se ejecuta en silencio, esperando el tiempo necesario para hacer algo útil. Cuando se le llama, hace lo que fue diseñado para hacer, luego vuelve a esconderse. Es necesario invocar un su daemon durante la inicialización del sistema, que se convierte en un punto de fricción para hackear el acceso raíz a las ROM "stock".
La implementación de Android que se envía con Nexus no busca políticas adicionales en / data / system / sepolicy como CyanogenMod y upstream indica que debería hacerlo. Carga el archivo / sepolicy de ramdisk y lo llama un día.
+ Koushik Dutta
Necesita, como mínimo, una imagen de arranque modificada para iniciar un demonio personalizado en su dispositivo Android. Eso no es un problema con algo como CyanogenMod, pero eso significa que está actualizando algo diferente de stock para que suceda. Parpadear imágenes personalizadas, núcleos y ROM es algo que mucha gente simplemente no quiere hacer.
Entonces ahí es donde estamos. Los nombres más importantes de la comunidad de Android están trabajando arduamente para ordenar todas las cosas, pero existe una muy buena posibilidad de que root, tal como lo conoce hoy en día, requiera que actualice el firmware personalizado más allá de la aplicación SU y el binario. Es bueno que Android se esté moviendo hacia un modelo de seguridad más seguro, y solo tendrá que aprender un poco más sobre cómo funciona su sistema y cómo modificarlo para obtener la condición que desea, que al final es Otra cosa buena.
Google sabe que los usuarios quieren cosas como permisos de superusuario. Hay una muy buena posibilidad de que aborden estos problemas de alguna manera, ya sea exigiendo root por menos cosas o construyendo una solución en el propio Android. Si ejecuta Linux u OSX en su computadora, sabe que tener una carpeta de inicio le permite hacer la mayoría de las cosas sin elevar ningún permiso. Tal vez Google se moverá hacia esta dirección. O tal vez agregarán funciones de superusuario a Android en las opciones de desarrollador. Mientras tanto, continuarán fabricando teléfonos Nexus completamente desbloqueables para usuarios que quieran o necesiten flashear firmware personalizado, y personas como los desarrolladores de CyanogenMod (y en otros lugares) continuarán construyéndolo.