Como exatamente o "root" funciona? Todos os aplicativos são executados como root no meu telefone após o enraizamento?


45

Eu tenho lido sobre fazer o root do telefone, mas tenho algumas dúvidas conceituais: quando você compra um telefone Android de uma operadora, não tem acesso "raiz". Quando você inicia o telefone, isso significa que uma conta de "usuário" (como eu tenho no Linux / Mac, '/ home / myself') é usada? Existe '/ home / eu' ou similar em telefones Android?

Se eu "torcer" um telefone, iniciá-lo-ei como root quando ligá-lo? Todos os aplicativos agora serão executados como raiz? Ou quando eles tentam ser executados como root, precisarei permitir isso?

Se o Android é essencialmente um Linux, para fazer backup do meu dispositivo, eu não deveria ser capaz de conectar-me ao root, fazer um full tar -cvzf /e depois scp para algum lugar? Por que eu precisaria ter o Nandroid e essas soluções completas?



Respostas:


56

Quando você inicia o telefone, isso significa que uma conta de "usuário" (como eu tenho no Linux / Mac, '/ home / myself') é usada? Existe '/ home / eu' ou similar em telefones Android?

Não. O Android foi projetado para um sistema de usuário único, e muitas das decisões de design foram tomadas para que / home / eu não exista mais. No Android, os recursos multiusuário do kernel Linux são usados ​​para aprimorar a segurança, executando cada aplicativo como seu próprio usuário; portanto, isolando os dados de cada aplicativo.

Se eu "torcer" um telefone, iniciá-lo-ei como root quando ligá-lo? Todos os aplicativos agora serão executados como raiz? Ou quando eles tentam ser executados como root, precisarei permitir isso?

Não, não sim Nos métodos modernos de root (que são basicamente todos os métodos de root, exceto os primeiros), existe um aplicativo chamado "Superusuário" que é usado para gerenciar aplicativos que têm permissão para obter acesso root.

Como o Android é um Linux, estou interessado em ter acesso a um terminal e alguns utilitários unix (ssh, rsync, etc.). Não me importo de ter que usar um teclado bluetooth e vi (para editar o / etc / hosts por exemplo), se necessário. Isso é possível? Posso ter um terminal com muitos utilitários unix (sei que o busybox está disponível)?

Sim, existe um shell (mas não é o shell bash). Pode ser necessário instalar o Emulador de Terminal para acessá-lo (algumas ROM personalizadas o instalam por padrão) ou usá-lo como um shell remoto usando o ADB. Como ele não usa o bash, o terminal será um pouco diferente do que você está acostumado a ver nas distribuições regulares do Linux (principalmente, não possui preenchimento automático) e a maioria dos comandos do shell que você considera "padrão" não existe ou apenas existe em forma extremamente barebone.

Se você estiver usando muito o terminal, é possível instalar o busybox e o bash para uma experiência mais familiar do terminal; você também pode instalar os utilitários de espaço de usuário GNU, mas precisará de um telefone bastante sofisticado com muito espaço em disco para isso.

Em suma, o que você quer é possível; embora muitas ferramentas não sejam instaladas por padrão nas ROMs do fabricante. É preciso bastante trabalho para instalar todas essas ferramentas, a rota mais fácil e rápida é instalar uma ROM personalizada que fornece essas ferramentas, como o CyanogenMod.

Se o Android é essencialmente um Linux

O Android usa o kernel do Linux, mas não é um GNU / Linux e não usa os programas típicos de espaço do usuário do GNU. Em vez disso, usa o espaço de usuário da caixa de ferramentas, que é um espaço de usuário muito minimalista (ainda menor que o busybox, a caixa de ferramentas nem sequer tem um cp, você precisa usar o gato para copiar os arquivos). Algumas ROMs personalizadas do Android instalam o busybox por padrão.

para fazer backup do meu dispositivo, eu não deveria ser capaz de conectar-me ao root, fazer um tar completo -cvzf / e um scp para algum lugar? Por que eu precisaria ter o Nandroid e essas soluções completas?

que é essencialmente o que o Nandroid faz (a rigor, o backup do Nandroid é mais como backup com dd do que com tar), exceto com uma GUI muito mais conveniente. A maioria das pessoas, mesmo os usuários avançados, não gosta de digitar comandos complexos no teclado pequeno ou ter que conectar um teclado externo toda vez que quiser fazer backup (e 99% do mundo tem fobia de terminal). É muito mais fácil iniciar um aplicativo, clicar em um botão e fazer tudo isso para você.


2
"99% do mundo tem uma fobia terminal" - triste, mas verdadeira. Mas eu sou um amante do Terminal. Eu sempre quero saber quais comandos são emitidos por trás do aplicativo. Ele está processando meus dados valiosos afinal. Adoro emitir comandos sozinho, especialmente como desenvolvedor.
midnite

Como o OEM usa funções de raiz em um dispositivo não-enraizado?
Shloime Rosenblum 30/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.