por que o sudo funciona no Linux, mas não no Android?

20

Eu não tive a chance de ler o suficiente sobre Android , Linux ou UNIX para responder a isso Eu mesmo. sudo funciona em uma máquina Linux, mas não funciona no Android, a menos que você faça o root no dispositivo móvel (por exemplo, Samsung GT-N8013). Por que o dispositivo móvel precisa ser enraizado, mas não a instalação típica do Linux?

O contexto da minha pergunta está relacionado a link

(Além disso, há alguma maneira de um programa pedir para ser executado como root no Android, da mesma forma que você tem escalonamento de privilégios para "executar como administrador" no Windows? Se você acha que essa pergunta deve estar em seu próprio tópico, eu posso criar um)

    
por T. Webster 26.12.2012 / 01:18

4 respostas

19

sudo é uma aplicação normal com o bit suid. Isso significa que, para usar o sudo , ele precisa ser instalado no sistema. Nem todos os sistemas Linux têm sudo instalado por padrão, como por exemplo o Debian.

A maioria dos sistemas Android são direcionados para usuários finais que não precisam conhecer os componentes internos do Android (ou seja, cada aplicativo Android é executado sob seu próprio usuário), portanto não há necessidade de fornecer uma maneira interativa para um usuário final executar comando como administrador do sistema.

Em geral, você pode usar su em vez de sudo para executar um comando como um usuário diferente, mas é necessário conhecer as credenciais do usuário de destino para su (para sudo você precisa saber as credenciais do usuário executando o comando)

    
por 26.12.2012 / 02:22
9

sudo não é universal . Só porque existe na distro particular do Linux que você usa, não significa que ele esteja disponível em todos os SOs que também usam o kernel Linux.

    
por 26.12.2012 / 02:15
8

O telefone precisa estar enraizado para ter o root user install sudo (ou qualquer outro aplicativo). Caso contrário, ele seria instalado como o usuário "padrão" e não teria acesso root.

Quanto à segunda pergunta, uma vez que o sudo esteja instalado no telefone raiz, na minha experiência, os aplicativos que precisam dele simplesmente o solicitam e você recebe um prompt de pop-up.

    
por 26.12.2012 / 01:54
4

Você toca em um ponto crítico da sua pergunta: uma instalação típica do Linux IS root: você inicializa a partir de um Live CD e sobrescreve o setor de inicialização do disco rígido para carregar seu próprio código.

É justo que o enraizamento de um PC seja menos árduo do que em um dispositivo semi-embutido como um telefone, de modo que as pessoas tendem a esquecer que instalar um segundo sistema operacional com dual-boot é essencialmente enraizar BIOS com inicialização segura, mas que pode ser facilmente redefinida).

E o sistema operacional no dispositivo Android simplesmente não vem com o comando sudo (ou similar) instalado.

    
por 26.12.2012 / 06:17