Come funziona esattamente "root"? Tutte le applicazioni funzionano come root sul mio telefono dopo il rooting?


45

Ho letto del rooting del telefono, ma ho alcuni dubbi concettuali: quando acquisti un telefono Android da un operatore, non hai accesso "root". Quando avvii il telefono, significa che viene utilizzato un account "utente" (come ho su Linux / Mac, '/ home / me stesso')? '/ Home / me stesso' o simili esiste nei telefoni Android?

Se "root" un telefono, lo avvierò come root quando lo accendo? Tutte le applicazioni ora funzioneranno come root? O quando proveranno ad essere eseguiti come root, dovrò permetterli così?

Se Android è essenzialmente un Linux, per eseguire il backup del mio dispositivo, non dovrei essere in grado di connettermi per effettuare il root, fare un full tar -cvzf /e poi scp da qualche parte? Perché dovrei avere Nandroid e queste soluzioni complete?



Risposte:


56

Quando avvii il telefono, significa che viene utilizzato un account "utente" (come ho su Linux / Mac, '/ home / me stesso')? '/ Home / me stesso' o simili esiste nei telefoni Android?

No. Android è stato progettato per un sistema a utente singolo e molte decisioni di progettazione sono state prese in modo tale che / home / me stesso non esiste più. In Android, le funzionalità multiutente del kernel Linux vengono utilizzate per migliorare la sicurezza, eseguendo ogni applicazione come proprio utente; isolando quindi i dati di ciascuna applicazione l'uno dall'altro.

Se "root" un telefono, lo avvierò come root quando lo accendo? Tutte le applicazioni ora funzioneranno come root? O quando proveranno ad essere eseguiti come root, dovrò permetterli così?

No, No, Sì. Nei moderni metodi di rooting (che sono praticamente tutti i metodi di rooting tranne i primi), esiste un'applicazione chiamata "Superutente" che viene utilizzata per gestire le applicazioni a cui è consentito ottenere l'accesso root.

Poiché Android è un Linux, mi interessa avere accesso a un terminale e ad alcune utility unix (ssh, rsync, ecc.). Non mi dispiace dover usare una tastiera bluetooth e vi (per modificare / etc / hosts per esempio) se necessario. È possibile? Posso avere un terminale con molte utility unix (so che busybox è disponibile)?

Sì, esiste una shell (ma non è la shell bash). Potrebbe essere necessario installare Terminal Emulator per accedervi (alcune ROM personalizzate lo installano di default) o utilizzarlo come shell remota usando ADB. Poiché non usa bash, il terminale sarà leggermente diverso da quello che sei abituato a vedere nelle normali distribuzioni Linux (in particolare non ha il completamento automatico) e la maggior parte dei comandi di shell che consideri "standard" non esiste o solo esiste in forma estremamente barebone.

Se si utilizza molto il terminale, è possibile installare busybox e bash per un'esperienza terminale più familiare; puoi anche installare le utility dello spazio utenti GNU, ma avrai bisogno di un telefono di fascia alta con un sacco di spazio su disco per questo.

In breve, ciò che vuoi è possibile; sebbene molti strumenti non siano installati di default nelle ROM del produttore. Ci vuole un bel po 'di lavoro per installare tutti quegli strumenti da soli, il percorso più semplice e veloce è quello di installare una ROM personalizzata che fornisca quegli strumenti come CyanogenMod.

Se Android è essenzialmente un Linux

Android utilizza il kernel Linux, ma non è un GNU / Linux e non utilizza i tipici programmi di spazio utente GNU. Invece utilizza lo spazio utente toolbox, che è uno spazio utente molto minimalista (anche più piccolo di busybox, toolbox non ha nemmeno un cp, devi invece usare cat per copiare i file). Alcune ROM Android personalizzate installano busybox per impostazione predefinita.

per eseguire il backup del mio dispositivo, non dovrei essere in grado di connettermi per effettuare il root, fare un tar completo -cvzf / e loro uno scp da qualche parte? Perché dovrei avere Nandroid e queste soluzioni complete?

che è essenzialmente ciò che fa Nandroid (a rigor di termini, il backup Nandroid è più simile al backup con dd piuttosto che al tar), tranne che con una GUI molto più conveniente. Alla maggior parte delle persone, anche agli utenti esperti, non piace digitare comandi complessi sulla piccola tastiera o dover connettere una tastiera esterna ogni volta che vogliono eseguire il backup (e il 99% del mondo ha una fobia terminale). È molto più semplice avviare un'app e fare clic su un pulsante e fare tutto per te.


2
"Il 99% del mondo ha una fobia terminale" - triste ma vera. Ma invece sono un amante dei terminali. Voglio sempre sapere quali comandi vengono emessi dietro l'app. Dopotutto sta elaborando i miei dati preziosi. Adoro impartire comandi da solo, specialmente come sviluppatore.
mezzanotte,

In che modo l'OEM utilizza le funzioni di root su un dispositivo non rootato?
Shloime Rosenblum,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.