Programáticamente, ¿cómo "rootear" un dispositivo permite el acceso? [duplicar]

Desde el punto de vista de un profano, uno diría: "Oh, no estoy rooteado, así que estoy bloqueado y no se permite el acceso". Quiero el punto de vista programático; diciéndome cómo un dispositivo no rooteado no tiene acceso a todo el sistema de archivos, etc., y cómo un dispositivo rooteado tiene ese acceso.

Ejemplos:

1. ¿El sistema de archivos está configurado de forma predeterminada para no permitir lecturas/escrituras en /system, /sys, /data, etc.?

2. ¿Hay algo almacenado en /sistema o /datos (como un programa, dispositivo/archivo de bloque, etc.) que ejecuta el sistema operativo no rooteado que limita el acceso de todo el sistema a varias tareas que tienen los usuarios rooteados?

3. ¿El sistema operativo predeterminado "no rooteado" realmente tiene prevención de acceso no rooteado en todo el sistema?

Porque míralo de esta manera: para "rootear" tu dispositivo hay que cambiar algo, ¿no? Por lo tanto, el "programa o proceso de enraizamiento" debe incluir cómo se elude esta restricción. ¿Alguien aquí/alguien puede vincular a algo ( o explicarlo ) que explique este proceso de cómo el progreso de enraizamiento permite a los usuarios acceder a lo que normalmente no se les dio de forma predeterminada ( mediante programación; no detalles sobre los pasos a seguir en un proceso de enraizamiento y no información sobre cómo rootear su teléfono desde el punto de vista de un usuario; desde el punto de vista de un desarrollador ).

Mejor ejemplo : digamos que soy un desarrollador de Android y deseo aprender a crear un programa de enraizamiento. ¿Qué necesitaría yo, por ejemplo, saber para hacer esto?

Los vendedores quieren sacarle tanto dinero como sea posible; y no quieren tener que proporcionar soporte técnico si te disparas en el pie. Entonces, el "usuario" normal de un teléfono no tiene permisos rwx completos en todas partes. Para rootear un teléfono, debe "aprovechar" un error (un agujero) dejado por el proveedor en su versión de hardware/software (tienden a corregirlos todo el tiempo) para ejecutar un programa de su creación con root completo (usuario id 0) permisos. Ese programa puede aprovechar todo lo demás.
Su pregunta es menos sobre el enraizamiento, y más sobre cómo funciona la administración de permisos y cómo se montan las particiones. Es posible que desee ver nuestra wiki de etiquetas de permisos de archivos para empezar. Estos son temas de Linux más bien genéricos que un problema de Android;)

Respuestas (1)

Root es un término de Linux para el administrador de más alto nivel. Rootear su teléfono significa otorgarse privilegios de nivel de root. Estos privilegios incluyen poder manipular las particiones protegidas de los sistemas de archivos. Rootear es un exploit en Android para darte esta habilidad.