Comment fonctionne exactement “root”? Toutes les applications sont-elles exécutées en tant que root sur mon téléphone après l’enracinement?


45

Je lisais des articles sur le raccrochage du téléphone, mais j'ai des doutes conceptuels: lorsque vous achetez un téléphone Android à un opérateur, vous n'avez pas d'accès "root". Lorsque vous démarrez votre téléphone, cela signifie-t-il qu'un compte "utilisateur" (comme sur Linux / Mac, "/ home / moi-même") est utilisé? Est-ce que '/ home / moi-même' ou similaire existe dans les téléphones Android?

Si je "root" un téléphone, est-ce que je vais le démarrer en tant que root quand je l'allume? Est-ce que toutes les applications vont maintenant fonctionner en tant que root? Ou quand ils essaient de fonctionner en tant que root, je devrai le leur permettre?

Si Android est essentiellement un Linux, pour sauvegarder mon appareil, ne devrais-je pas simplement me connecter à root, effectuer un tar -cvzf /scp complet puis un scp quelque part? Pourquoi aurais-je besoin de Nandroid et de ces solutions complètes?



Réponses:


56

Lorsque vous démarrez votre téléphone, cela signifie-t-il qu'un compte "utilisateur" (comme sur Linux / Mac, "/ home / moi-même") est utilisé? Est-ce que '/ home / moi-même' ou similaire existe dans les téléphones Android?

Non. Android a été conçu pour un système mono-utilisateur et de nombreuses décisions en matière de conception ont été prises de telle sorte que / home / moi-même n'existe plus. Sous Android, les fonctionnalités multi-utilisateurs du noyau Linux sont utilisées pour améliorer la sécurité, en exécutant chaque application en tant que son propre utilisateur. donc isoler les données de chaque application les unes des autres.

Si je "root" un téléphone, est-ce que je vais le démarrer en tant que root quand je l'allume? Est-ce que toutes les applications vont maintenant fonctionner en tant que root? Ou quand ils essaient de fonctionner en tant que root, je devrai le leur permettre?

Non, non, oui Dans les méthodes d’enracinement modernes (qui sont essentiellement toutes les méthodes d’enracinement, à l’exception des plus anciennes), il existe une application appelée "Super-utilisateur" qui est utilisée pour gérer les applications autorisées à obtenir un accès root.

Comme Android est un Linux, je souhaite avoir accès à un terminal et à certains utilitaires Unix (ssh, rsync, etc.). Cela ne me dérange pas de devoir utiliser un clavier Bluetooth et vi (pour éditer / etc / hosts par exemple) si nécessaire. Est-ce possible? Puis-je avoir un terminal avec beaucoup d'utilitaires Unix (je sais que busybox est disponible)?

Oui, un shell existe (mais ce n'est pas le shell bash). Vous devrez peut-être installer Terminal Emulator pour y accéder (certaines ROM personnalisées l'installent par défaut) ou l'utiliser comme un shell distant utilisant ADB. Parce qu'il n'utilise pas bash, le terminal sera légèrement différent de ce que vous avez l'habitude de voir dans les distributions Linux habituelles (notamment, il n'a pas d'auto-complétion) et la plupart des commandes shell que vous considérez comme "standard" n'existent pas ou sont les seules. existe sous une forme extrêmement barebone.

Si vous utilisez beaucoup le terminal, il est possible d'installer busybox et bash pour une expérience de terminal plus familière; vous pouvez également installer des utilitaires d'espace utilisateur GNU, mais vous aurez besoin d'un téléphone assez haut de gamme doté de beaucoup d'espace disque.

En bref, ce que vous voulez est possible. Cependant, de nombreux outils ne sont pas installés par défaut sur les ROM du fabricant. Il faut pas mal de travail pour installer tous ces outils vous-même. Le moyen le plus simple et le plus rapide consiste à installer une ROM personnalisée fournissant ces outils, tels que CyanogenMod.

Si Android est essentiellement un Linux

Android utilise le noyau Linux, mais ce n’est pas un système GNU / Linux et n’utilise pas les programmes d’espace utilisateur GNU typiques. Au lieu de cela, il utilise l'espace utilisateur de la boîte à outils, qui est un espace utilisateur très minimaliste (même plus petit que busybox, toolbox n'a même pas de cp, vous devez utiliser cat à la place pour copier des fichiers). Certaines ROM Android personnalisées installent busybox par défaut.

pour sauvegarder mon appareil, ne devrais-je pas juste pouvoir me connecter à root, faire un tar -cvzf / et leur envoyer un scp quelque part? Pourquoi aurais-je besoin de Nandroid et de ces solutions à part entière?

ce qui est essentiellement ce que fait Nandroid (à proprement parler, la sauvegarde Nandroid ressemble plus à une sauvegarde avec dd plutôt que tar), sauf avec une interface graphique beaucoup plus pratique. La plupart des gens, même les utilisateurs expérimentés, n'aiment pas taper des commandes complexes sur un petit clavier ou avoir à connecter un clavier externe chaque fois qu'ils souhaitent effectuer une sauvegarde (et 99% des personnes dans le monde souffrent de phobie des terminaux). Il est beaucoup plus facile de démarrer une application, de cliquer sur un bouton et de faire tout ce qui est fait pour vous.


2
"99% du monde a une phobie terminale" - triste mais vrai. Mais je suis un passionné de terminal à la place. Je veux toujours savoir quelles commandes sont émises derrière l'application. Il traite mes données précieuses après tout. J'adore émettre des commandes par moi-même, surtout en tant que développeur.
midnite

Comment l'OEM utilise-t-il les fonctions root sur un périphérique non root?
Shloime Rosenblum
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.