Logo es.androidermagazine.com
Logo es.androidermagazine.com

¿Qué significa rootear tu teléfono?

Tabla de contenido:

Anonim

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

"¿Qué significa root?" Es una de esas preguntas. El concepto puede ser simple para algunos de nosotros, pero para muchas personas que no han pasado el tiempo jugando con Android o cualquier otro sistema operativo basado en permisos, es algo para hacer preguntas. Voy a tratar de responder a todos lo mejor que pueda.

Permisos

Antes de definir root, es importante entender 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 (ejecute el archivo si es un tipo que puede ejecutarse, como una aplicación). Esto se realiza en función de los usuarios y los permisos: ciertos usuarios tienen acceso, mientras que los usuarios que no tienen los permisos correctos tienen bloqueado el 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 les asigna una ID de usuario diferente. Cuando se instala una aplicación en su teléfono, también se le asigna una ID de usuario propia. El sistema en sí es un usuario y otros procesos que deben ejecutarse en su teléfono pueden tener su propia identificación de usuario. Todo lo que puede hacer cualquier cosa a 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 identificación de usuario cuando lo instala. También obtiene un lugar en su partición de datos propia, a la que solo tiene acceso. Tiene permisos para ejecutar la aplicación, y cuando la aplicación 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 afirmativamente a estas solicitudes (o si acepta los permisos de las versiones anteriores de Android), el ID de usuario de la aplicación tiene permiso para los archivos de datos de esas cosas, lo que significa que puede mirar la carpeta de datos y su contenido y posiblemente cambiar ellos o agregar nuevos archivos. 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 protegidas y solo pueden reproducirse en los sandboxes para los que tienen permiso.

Para los 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 ejecutarlas y otros usuarios de nivel de sistema pueden tener acceso a las aplicaciones o ciertos procesos que las aplicaciones usan. 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, alterar o ejecutar. Por lo general, esas partes de Android requieren permisos de nivel de sistema (la ID de usuario del sistema) para hacer algo, y usted no es el usuario del sistema o un usuario que tiene permisos de nivel de sistema.

Cambio de permisos

Si bien es técnicamente posible cambiar la forma en que su teléfono se inicia y los archivos que usa para iniciar el sistema en ejecución y asignar permisos elevados a su ID de usuario, eso no es 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 admiten el binario SubstituteUser (piense en un binario como una pequeña aplicación) para cambiar las ID de los usuarios. Esos se utilizan para administrar el sistema a nivel central.

Debido a que las personas que fabricaron su teléfono no quieren que tenga acceso fácil a la ID de usuario raíz, y no todas las razones son egoístas porque también lo protege a usted y a sus 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. La mayoría de las cosas a nivel de sistema en Android tienen nombres fáciles similares, por cierto. El núcleo de seguridad (archivos en el gestor de arranque y / o el núcleo en sí) también se construyen de manera que evite que cambie las ID de usuario como parte del módulo del núcleo SELinux (S ecurity- E nhanced Linux - le dijo que los nombres son fáciles). Algunos teléfonos (me viene a la mente el Knox de Samsung) tienen más protecciones, y casi todas las compañías que fabrican androides requieren que, para realizar cambios, el gestor de arranque deba desbloquearse para que estos archivos puedan cambiarse y permitirle cambiar las ID de usuario. Algunos teléfonos, como el BlackBerry Priv, incluso van un paso más allá y no van a arrancar si cambiamos algo (incluso si pudiéramos).

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

Una vez que superamos todo eso, ya sea desbloqueando el gestor de arranque a través de medios autorizados o utilizando algún tipo de explotación, podemos colocar el binario SU (SubstituteUser) en un lugar que puede ejecutarse cuando se llama a ejecutar, que se llama RUTA. 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 se resuelve por las personas que crearon el método de rooteo.

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

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 o argumentos, lo cambia al usuario raíz. Normalmente, necesitaría proporcionar una contraseña, pero como "root" es un usuario no utilizado en Android, no tiene contraseña. Ejecutar el comando "su" lo cambiará a la raíz del usuario y le asignará el ID de usuario 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 rompen su teléfono. También puede hacerle cosas al hardware como cambiar la frecuencia de la CPU y arruinar su teléfono para siempre.

Root es el súper usuario, 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 cual las personas que fabricaron su teléfono realmente no quieren que tenga este nivel de acceso, y las compañías que le permiten desbloquear el gestor de arranque y cambiar las cosas aún no colocan el binario SU en su teléfono de forma predeterminada. Tener acceso a la 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 a la raíz cada vez que usted u otra aplicación intente invocar los permisos de Superusuario. La mayoría de las veces, cuando utiliza 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 hizo las cosas a mano, deberá instalar una usted mismo. Para empezar, SuperSU by Chainfire en Google Play es bueno.

Retazos

Muchos teléfonos y algunos métodos de raíz hacen las cosas de manera un poco diferente (Android 4.3 trajo muchos cambios) y requieren scripts o un demonio (verá palabras como daemonsu o su.d mencionadas) en lugar de simplemente colocar el binario SU en su 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 resuelto todo esto y funcionará igual en el lado del usuario.

También es posible "temp-root" algunos androides. Esto significa que puede tener permisos de Súper Usuario y hacer algunas cosas que debe hacer, pero un reinicio elimina el acceso de root. Del mismo modo, puede tener un "shell-root" donde solo puede acceder al usuario root a través de adb desde su computadora.

Finalmente, quiero enfatizar que si tuviera 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 el 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 puedan dañar su teléfono o dar acceso aleatorio a todos sus datos.

Para eso estamos aquí.