¿Cómo funciona exactamente "root"? ¿Todas las aplicaciones se ejecutan como root en mi teléfono después de rootear?

45

He estado leyendo sobre rootear el teléfono, pero tengo algunas dudas conceptuales: cuando compra un teléfono Android a un proveedor, no tiene acceso "root". Cuando enciende su teléfono, ¿eso significa que se utiliza una cuenta de "usuario" (como la que tengo en Linux / Mac, '/ home / myself')? ¿Existe '/ home / myself' o similar en los teléfonos Android?

Si "rooteo" un teléfono, ¿lo iniciaré como root cuando lo enciendo? ¿Todas las aplicaciones se ejecutarán ahora como root? ¿O cuando intenten ejecutarse como root, tendré que permitirlos?

Si Android es esencialmente un Linux, para hacer una copia de seguridad de mi dispositivo, ¿no debería poder conectarme a la raíz, hacer un completo tar -cvzf /y luego scp a algún lugar? ¿Por qué necesitaría tener Nandroid y estas soluciones completas?

Alguien todavía te usa MS-DOS
fuente

Respuestas:

56

Cuando enciende su teléfono, ¿eso significa que se utiliza una cuenta de "usuario" (como la que tengo en Linux / Mac, '/ home / myself')? ¿Existe '/ home / myself' o similar en los teléfonos Android?

No. Android fue diseñado para un sistema de usuario único, y muchas de las decisiones de diseño se tomaron de tal manera que / home / yourself ya no existe. En Android, las capacidades multiusuario del kernel de Linux se utilizan para mejorar la seguridad, al ejecutar cada aplicación como su propio usuario; por lo tanto, aislar los datos de cada aplicación entre sí.

Si "rooteo" un teléfono, ¿lo iniciaré como root cuando lo enciendo? ¿Todas las aplicaciones se ejecutarán ahora como root? ¿O cuando intenten ejecutarse como root, tendré que permitirlos?

No no no En los métodos de enraizamiento modernos (que son básicamente todos los métodos de enraizamiento, excepto los primeros), existe una aplicación llamada "Superusuario" que se usa para administrar aplicaciones que pueden obtener acceso a la raíz.

Como Android es Linux, estoy interesado en tener acceso a un terminal y a algunas utilidades de Unix (ssh, rsync, etc.). No me importa tener que usar un teclado bluetooth y vi (para editar / etc / hosts, por ejemplo) si es necesario. es posible? ¿Puedo tener un terminal con muchas utilidades de Unix (sé que busybox está disponible)?

Sí, existe un shell (pero no es el shell bash). Es posible que necesite instalar Terminal Emulator para acceder a él (algunas ROM personalizadas lo instalan por defecto) o usarlo como un shell remoto usando ADB. Debido a que no usa bash, el terminal será ligeramente diferente de lo que está acostumbrado a ver en las distribuciones regulares de Linux (especialmente no tiene autocompletado) y la mayoría de los comandos de shell que considera "estándar" no existen o solo existe en forma extremadamente básica.

Si usa mucho el terminal, es posible instalar busybox y bash para una experiencia de terminal más familiar; también puede instalar utilidades de espacio de usuario GNU, pero necesitará un teléfono de gama alta con mucho espacio en disco para ello.

En resumen, lo que quieres es posible; aunque muchas de las herramientas no están instaladas por defecto en las ROM del fabricante. Se necesita un poco de trabajo para instalar todas esas herramientas usted mismo, la ruta más fácil y rápida es instalar una ROM personalizada que proporcione esas herramientas como CyanogenMod.

Si Android es esencialmente un Linux

Android usa el kernel de Linux, pero no es un GNU / Linux y no usa los típicos programas de espacio de usuario de GNU. En su lugar, utiliza el espacio de usuario de la caja de herramientas, que es un espacio de usuario muy minimalista (incluso más pequeño que busybox, la caja de herramientas ni siquiera tiene un cp, debe usar cat en su lugar para copiar archivos). Algunas ROM personalizadas de Android instalan busybox por defecto.

para hacer una copia de seguridad de mi dispositivo, ¿no debería poder conectarme a la raíz, hacer un tar -cvzf / completo y un scp en alguna parte? ¿Por qué necesitaría tener Nandroid y estas soluciones completas?

que es esencialmente lo que hace Nandroid (estrictamente hablando, la copia de seguridad de Nandroid es más como una copia de seguridad con dd en lugar de tar), excepto con una GUI mucho más conveniente. A la mayoría de las personas, incluso a los usuarios avanzados, no les gusta escribir comandos complejos en el teclado pequeño o tener que conectar un teclado externo cada vez que desean realizar una copia de seguridad (y el 99% del mundo tiene una fobia a los terminales). Es mucho más fácil iniciar una aplicación, hacer clic en un botón y hacer todo eso por usted.

Lie Ryan
fuente
2
"El 99% del mundo tiene una fobia terminal", triste pero cierto. Pero soy un amante de la Terminal en su lugar. Siempre quiero saber qué comandos se emiten detrás de la aplicación. Está procesando mis datos valiosos después de todo. Me encanta emitir comandos por mí mismo, especialmente como desarrollador.
midnite
¿Cómo utiliza el OEM las funciones raíz en un dispositivo no rooteado?
Shloime Rosenblum