Centro De Android

¿Qué significa realmente rootear tu teléfono?

protection click fraud

Nos encanta recibir tus preguntas. Siempre es bueno cuando podemos ayudarnos unos a otros, y aprendemos cosas nosotros mismos cuando buscamos las respuestas. Si bien no podemos encontrar tiempo para responderlas todas, a veces surge una determinada pregunta que merece una respuesta detallada.

"Que hace raíz decir?" es una de esas preguntas. El concepto puede ser simple para algunos de nosotros, pero para muchas personas que no han pasado tiempo jugando con Android o cualquier otro sistema operativo basado en permisos, es algo sobre lo que hacer preguntas. Voy a tratar de responderlas todas lo mejor que pueda.

permisos

permisos de archivo

Antes de definir raíz, es importante comprender por qué existe y cómo funciona. Es porque Android usa permisos (permisos basados ​​en Linux, para ser exactos) en la estructura de archivos. Cada archivo, cada carpeta y cada partición tiene un conjunto de permisos. Estos permisos deciden quién puede leer un archivo (mirar o acceder a los contenidos sin cambiarlos), escribir en un archivo (poder cambiar el contenido de ese archivo, o crear un nuevo archivo dentro de una carpeta o partición) y ejecutar un archivo (ejecutar el archivo si es un tipo que se puede ejecutar, como un aplicación). Esto se hace en función de los usuarios y los permisos: ciertos usuarios tienen acceso, mientras que los usuarios que no tienen los permisos correctos no tienen acceso.

Cuando configura su teléfono por primera vez y lo enciende por primera vez, se le asigna una identificación de usuario. Si otro usuario inicia sesión a través de Google, se le asigna un diferente identificación de usuario Cuando se instala una aplicación en su teléfono, también se le asigna una identificación de usuario propia. El sistema en sí es un usuario y otros procesos que deben ejecutarse en su teléfono pueden tener su propia ID de usuario. Todo lo que puede hacer cualquier cosa con cualquier archivo en tu Android es un usuario.

Un sistema de usuarios y permisos es cómo Android realiza un seguimiento de quién puede hacer qué.

Supongamos que instala una aplicación de mensajería. Se le asigna una ID de usuario cuando lo instala. También obtiene un lugar en su propia partición de datos, al que solo él tiene acceso. Tiene permisos para ejecutar la aplicación y, cuando se ejecuta, tiene permiso para acceder a su propia carpeta de datos y archivos. La aplicación también puede solicitar permiso para acceder a cosas como su libreta de direcciones o tarjeta SD o biblioteca de fotos. Si responde que sí a estas solicitudes (o si acepta los permisos en versiones anteriores de Android), se otorga la ID de usuario de la aplicación. permiso para los archivos de datos de esas cosas, lo que significa que puede mirar la carpeta de datos y su contenido y posiblemente cambiarlos o agregar archivos nuevos La aplicación no puede acceder a ningún archivo de datos que no tenga permiso para "mirar". Eso significa (en nuestro ejemplo) que no puede hacer cosas como mirar la base de datos de configuración o acceder a la carpeta de datos de otra aplicación. El término sandbox se usa a menudo para esto: las aplicaciones están en un sandbox y solo pueden jugar en los sandbox en los que tienen permiso para estar.

Para archivos que son programas y pueden ejecutarse (como aplicaciones), se aplica el mismo modelo de permiso. Su ID de usuario tiene permiso para ejecutar las aplicaciones que instaló mientras está conectado. El usuario del sistema tiene permiso para ejecutarlos y otros usuarios a nivel del sistema pueden tener acceso a las aplicaciones o ciertos procesos que utilizan las aplicaciones. Otras aplicaciones no pueden iniciar aplicaciones que no tienen permiso para iniciar. Si agregó un usuario secundario, no tiene acceso a sus aplicaciones o archivos y viceversa. Hay archivos, carpetas y aplicaciones en su teléfono que su ID de usuario no tiene permiso para ver, modificar o ejecutar. Por lo general, esas partes de Android requieren permisos a nivel del sistema (el ID de usuario del sistema) para hacer cualquier cosa, y usted no es el usuario del sistema o un usuario que tiene permisos a nivel del sistema.

Cambio de permisos

Super SU

Si bien técnicamente es posible cambiar la forma en que su teléfono se inicia y los archivos que utiliza para iniciar el sistema en ejecución y asignar permisos elevados a su ID de usuario, eso no es ni seguro ni práctico. Pero Android (y la mayoría de los sistemas basados ​​en Unix o Linux) tienen lo que se llama un usuario raíz y son compatibles con SubstituteUser binario (piense en un binario como una aplicación pequeña) para cambiar las identificaciones de usuario. Se utilizan para administrar el sistema en el núcleo. nivel.

Porque las personas que fabricaron su teléfono no quieren que tenga fácil acceso a la ID de usuario raíz, y no todas las razones son egoísta porque también te protege a ti y a tus datos privados: el binario SubstituteUser no está incluido en la mayoría de las compilaciones de Androide. Sin SubstituteUser, no podemos cambiar nuestra ID de usuario. Por cierto, la mayoría de las cosas a nivel de sistema en Android tienen nombres sencillos similares. La seguridad central (archivos en el cargador de arranque y/o el propio núcleo) también está construida de una manera que le impide cambiar de ID de usuario como parte de SELinux (Sseguridad-miLinux mejorado: le dije que los nombres son fáciles) módulo kernel. Algunos teléfonos (me viene a la mente el Knox de Samsung) tienen protecciones adicionales, y casi todas las empresas que fabrican Android requieren que, para poder realizar cambios, el gestor de arranque deba ser desbloqueado para que estos archivos se puedan cambiar y le permitan cambiar de ID de usuario. Algunos teléfonos, como el BlackBerry Priv, incluso van un paso más allá y no se iniciarán si cambiamos algo (incluso si podría).

Para convertirse en root, necesita una forma de cambiar su ID de usuario.

Una vez que superemos todo eso, ya sea desbloqueando el cargador de arranque a través de medios autorizados o usando algún tipo de exploit — podemos colocar el binario SU (SubstituteUser) en un lugar que puede ejecutarse cuando se le llama para ejecutarse — eso se llama un CAMINO. Si alguna aplicación está en la RUTA de su ID de usuario, se ejecutará sin decirle al sistema exactamente dónde está. También debe asegurarse de que el binario SU esté en un lugar en el que su ID de usuario tenga permiso para ejecutar (ejecutar) archivos. Cualquier otra aplicación (Google Play tiene muchas aplicaciones que necesitan permisos de root) también necesitará el mismo acceso. Cuando usa un método para rootear su teléfono, todo esto lo solucionan las personas que crearon el método root.

Una vez que todo esté en su lugar, podemos ejecutar el binario SU (u otra aplicación puede ejecutar el binario SU).

Obtener acceso de root

yo soy groot

Aquí es donde entra la raíz. El binario SU usa banderas cuando se ejecuta para decirle al sistema a qué ID de usuario desea cambiar. Por ejemplo, si ejecuto el binario SU en mi computadora Ubuntu como este "su Jim -c nano", ejecutaré el comando nano como el usuario Jim (después de proporcionar la contraseña de Jim). Si ejecuta el binario SU sin banderas ni argumentos, lo cambia al usuario raíz. Normalmente necesitaría proporcionar una contraseña, pero dado que "root" es un usuario no utilizado en Android, no tiene contraseña. Ejecutar el comando "su" lo cambiará a la raíz del usuario, le asignará la ID de usuario de 0 y lo colocará en el grupo raíz. Ahora eres el superusuario.

Como superusuario, puede hacer cualquier cosa con cualquier archivo, carpeta o partición en su Android. Por cualquier cosa, queremos decir literalmente cualquier cosa. Puede eliminar aplicaciones de bloatware y también puede eliminar archivos esenciales del sistema que dañan su teléfono. También puede hacer cosas con el hardware, como cambiar la frecuencia de la CPU y arruinar su teléfono para siempre.

Root es el superusuario, que puede hacer cualquier cosa. Y queremos decir cualquier cosa.

Las aplicaciones pueden hacer lo mismo. SU se coloca donde está en la RUTA de la aplicación y cualquier aplicación puede llamarlo y ejecutarlo. Esa aplicación tiene permisos de superusuario y puede hacer lo que quiera con cualquier archivo en cualquier lugar de su teléfono. Esta es la razón por la que las personas que fabricaron su teléfono realmente no quieren que tenga este nivel de acceso, y las empresas que le permiten desbloquear el cargador de arranque y cambiar las cosas aún no colocan el binario SU en su teléfono por por defecto. Tener acceso de raíz sin forma de controlar quién o qué puede usarlo es peligroso para el software de su teléfono y sus datos personales.

Es por eso que necesita instalar una aplicación que lo obligue a permitir el acceso de root cada vez que usted u otra aplicación intente invocar los permisos de Superusuario. La mayoría de las veces, cuando usa un método raíz para su teléfono, se incluirá uno, junto con algunos otros binarios útiles como el conjunto de herramientas BusyBox. Si hiciste las cosas a mano, tendrás que instalar uno tú mismo. SuperSU de Chainfire en Google Play es una buena opción para empezar.

Retazos

Muchos teléfonos y algunos métodos raíz hacen las cosas un poco diferentes (Android 4.3 trajo muchos cambios) y requieren scripts o un daemon (verá palabras como daemonsu o su.d mencionadas) en lugar de simplemente colocar el binario SU en lugar. Estos se utilizan para llamar a SubstituteUser para que pueda cambiar al usuario raíz al igual que el método binario sin formato. Las personas que descubrieron cómo rootear su teléfono han solucionado todo esto y funcionará de la misma manera en el lado del usuario.

También es posible "rootear temporalmente" algunos Android. Esto significa que puede tener permisos de superusuario y hacer algunas cosas que necesita hacer, pero un reinicio le quita el acceso a la raíz. Del mismo modo, puede tener un "shell-root" donde solo puede acceder al usuario root a través de adb desde tu computadora.

Finalmente, quiero enfatizar que si tiene estas preguntas, debe considerar si está listo para tener un Android rooteado. No bromeábamos cuando dijimos que es fácil arruinar su teléfono con acceso de superusuario. No hay razón para avergonzarse de que necesite leer un poco o hacer algunas preguntas más antes de hacer cosas que pueden romper su teléfono o dar acceso aleatorio a todos sus datos a alguna aplicación de colorete.

Para eso estamos aquí.

instagram story viewer