Logo fr.androidermagazine.com
Logo fr.androidermagazine.com

Que signifie réellement l’enracinement de votre téléphone?

Table des matières:

Anonim

Nous aimons recevoir vos questions. C'est toujours une bonne chose de pouvoir s'entraider et d'apprendre soi-même lorsqu'on cherche des réponses. Bien que nous ne puissions pas trouver le temps de répondre à toutes, parfois, une certaine question est suffisamment posée pour mériter une réponse détaillée.

"Qu'est-ce que root signifie?" est l'une de ces questions. Le concept peut être simple pour certains d'entre nous, mais pour beaucoup de gens qui n'ont pas passé du temps à tripoter Android ou tout autre système d'exploitation basé sur des autorisations, il y a de quoi poser des questions. Je vais essayer d'y répondre du mieux que je peux.

Les permissions

Avant de définir root, il est important de comprendre pourquoi et comment cela fonctionne. C'est parce qu'Android utilise des autorisations (autorisations basées sur Linux, pour être exact) dans la structure de fichier. Chaque fichier, chaque dossier et chaque partition dispose d'un ensemble d'autorisations. Ces autorisations déterminent qui peut lire un fichier (consulter ou accéder au contenu sans le modifier), écrire dans un fichier (pouvoir modifier le contenu de ce fichier ou créer un nouveau fichier dans un dossier ou une partition) et exécuter un fichier. (exécutez le fichier s'il s'agit d'un type exécutable, comme une application). Cette opération est effectuée en fonction des utilisateurs et des autorisations - certains utilisateurs y ont accès, tandis que les utilisateurs qui ne disposent pas des autorisations appropriées ne peuvent pas y accéder.

Lorsque vous configurez et allumez votre téléphone pour la première fois, un identifiant utilisateur vous est attribué. Si un autre utilisateur se connecte via Google, un autre identifiant lui est attribué. Lorsqu'une application est installée sur votre téléphone, un identifiant utilisateur lui est également attribué. Le système lui-même est un utilisateur et les autres processus devant s'exécuter sur votre téléphone peuvent avoir leur propre ID utilisateur. Tout ce qui peut faire n'importe quoi pour tous les fichiers de votre Android est un utilisateur.

Un système d'utilisateurs et d'autorisations permet à Android de savoir qui peut faire quoi.

Disons que vous installez une application de messagerie. Un identifiant utilisateur lui est attribué lors de son installation. Elle obtient également une place sur votre partition de données, à laquelle elle seule a accès. Vous disposez des autorisations nécessaires pour exécuter l'application et, lorsque celle-ci est exécutée, elle est autorisée à accéder à ses propres dossiers et fichiers de données. L'application peut également demander l'autorisation d'accéder à des éléments tels que votre carnet d'adresses, votre carte SD ou votre photothèque. Si vous répondez oui à ces demandes (ou si vous acceptez les autorisations sur les anciennes versions d'Android), l'ID utilisateur de l'application se voit attribuer une autorisation pour les fichiers de données de ces éléments, ce qui signifie qu'il peut consulter le dossier de données et son contenu et éventuellement changer. eux ou ajouter de nouveaux fichiers. L'application ne peut accéder à aucun fichier de données sur lequel elle n'est pas autorisée à "regarder". Cela signifie (dans notre exemple) qu'il ne peut pas faire des choses telles que consulter la base de données de paramètres ou accéder au dossier de données d'une autre application. Le terme sandbox est souvent utilisé à cet effet. Les applications sont en mode sandbox et ne peuvent être lues que dans les sandbox dans lesquelles elles sont autorisées.

Pour les fichiers qui sont des programmes et peuvent être exécutés (comme des applications), le même modèle d'autorisation s'applique. Votre ID utilisateur est autorisé à exécuter les applications que vous avez installées pendant que vous êtes connecté. L'utilisateur système est autorisé à les exécuter et d'autres utilisateurs du système peuvent avoir accès aux applications ou à certains processus qu'ils utilisent. D'autres applications ne peuvent pas démarrer des applications pour lesquelles elles ne sont pas autorisées. Si vous avez ajouté un utilisateur secondaire, il n'a pas accès à vos applications ou à vos fichiers, et inversement. Votre téléphone contient des fichiers, des dossiers et des applications que votre ID utilisateur n'est pas autorisé à voir, à modifier ou à exécuter. Habituellement, ces parties d'Android nécessitent des autorisations au niveau du système (l'ID utilisateur du système), et vous n'êtes pas l'utilisateur du système ou un utilisateur disposant d'autorisations au niveau du système.

Permutation des autorisations

Bien qu'il soit techniquement possible de modifier la façon dont votre téléphone démarre et les fichiers qu'il utilise pour démarrer le système en cours d'exécution et attribuer des autorisations élevées à votre ID utilisateur, ce n'est ni sûr ni pratique. Mais Android (et la plupart des systèmes Unix ou Linux) ont ce qu’on appelle un utilisateur root et supporte le binaire SubstituteUser (pensez à un binaire comme à une petite application) pour changer les ID utilisateur. Ceux-ci sont utilisés pour administrer le système au niveau de base.

Parce que les personnes qui ont créé votre téléphone ne veulent pas que vous ayez facilement accès à l'ID utilisateur root - et toutes les raisons ne sont pas égoïstes, car cela vous protège également, ainsi que vos données personnelles - le binaire SubstituteUser n'est pas inclus dans la plupart des versions de Android. Sans SubstituteUser, nous ne pouvons pas changer notre ID utilisateur. La plupart des choses au niveau du système dans Android ont des noms faciles similaires, en passant. La sécurité principale (les fichiers du chargeur de démarrage et / ou du noyau lui-même) est également conçue pour vous empêcher de changer d'ID utilisateur dans le cadre du SELinux (S ecurity- E Nhanced Linux - vous dit que les noms sont faciles) module du noyau. Certains téléphones (on pense notamment à Knox de Samsung) bénéficient de protections supplémentaires et presque toutes les entreprises qui fabriquent des androïdes exigent que, pour pouvoir apporter des modifications, le chargeur de démarrage ait besoin d'être déverrouillé pour que ces fichiers puissent être modifiés et vous permettent de changer d'identifiant d'utilisateur.. Certains téléphones, comme le BlackBerry Priv, vont même plus loin et ne démarreront pas si nous changeons quoi que ce soit (même si nous le pouvions).

Pour devenir root, vous avez besoin d’un moyen de changer votre identifiant d’utilisateur.

Une fois que tout est surmonté - soit en déverrouillant le chargeur de démarrage par des moyens autorisés, soit en utilisant une sorte d’exploit -, nous pouvons placer le binaire SU (SubstituteUser) à un emplacement pouvant être exécuté lorsqu’il est appelé -, il s’appelle PATH. Si une application se trouve dans la variable PATH de votre ID utilisateur, elle s'exécutera sans indiquer exactement au système où elle se trouve. Vous devez également vous assurer que le binaire SU est à un endroit où votre ID utilisateur est autorisé à exécuter (exécuter) des fichiers. Toute autre application (Google Play contient de nombreuses applications nécessitant des autorisations root) devra également bénéficier du même accès. Lorsque vous utilisez une méthode pour rooter votre téléphone, tout cela est trié par les personnes qui ont créé la méthode racine.

Une fois que tout est en place, nous pouvons exécuter le binaire SU (ou une autre application peut exécuter le binaire SU).

Obtenir un accès root

C’est là que la racine entre en jeu. Le binaire SU utilise des indicateurs lorsqu’il est exécuté pour indiquer au système l’ID utilisateur que vous souhaitez basculer. Par exemple, si j'exécute le binaire SU sur mon ordinateur Ubuntu comme ceci "su Jim -c nano", je lancerai la commande nano en tant qu'utilisateur Jim (après avoir fourni le mot de passe de Jim). Si vous exécutez le binaire SU sans indicateurs ni arguments, il vous basculera vers l'utilisateur root. Normalement, vous devez fournir un mot de passe, mais étant donné que "root" est un utilisateur inutilisé sous Android, il ne possède pas de mot de passe. L'exécution de la commande "su" vous permet de basculer vers la racine de l'utilisateur, de vous attribuer l'ID utilisateur 0 et de vous placer dans le groupe racine. Vous êtes maintenant le super utilisateur.

En tant que super utilisateur, vous pouvez faire n'importe quoi pour n'importe quel fichier, dossier ou partition sur votre Android. Par n'importe quoi, nous entendons littéralement n'importe quoi. Vous pouvez supprimer les applications bloatware et les fichiers système essentiels qui endommagent votre téléphone. Vous pouvez également faire des choses sur le matériel comme changer la fréquence du processeur et ruiner votre téléphone pour toujours.

Root est le super utilisateur, qui peut tout faire. Et nous voulons dire n'importe quoi.

Les applications peuvent faire la même chose. SU est placé à l'emplacement où il se trouve dans l'application PATH et n'importe quelle application peut l'appeler et l'exécuter. Cette application dispose alors d'autorisations de super utilisateur et peut faire tout ce qu'elle veut pour n'importe quel fichier n'importe où sur votre téléphone. C’est la raison pour laquelle les personnes qui ont créé votre téléphone ne veulent vraiment pas que vous ayez ce niveau d’accès, et les entreprises qui vous permettent de déverrouiller le chargeur de démarrage et de changer des choses ne placent toujours pas le fichier binaire SU sur votre téléphone par défaut. Avoir un accès root sans aucun moyen de contrôler qui ou quoi peut l'utiliser est dangereux pour le logiciel de votre téléphone et vos données personnelles.

C'est pourquoi vous devez installer une application qui vous oblige à autoriser l'accès root à chaque fois que vous ou une autre application tentez d'appeler les autorisations de super utilisateur. La plupart du temps, lorsque vous utilisez une méthode racine pour votre téléphone, une méthode est incluse, ainsi que d'autres fichiers binaires utiles, tels que le jeu d'outils BusyBox. Si vous avez fait les choses à la main, vous devrez en installer un vous-même. SuperSU de Chainfire sur Google Play est un bon début.

Bouts

De nombreux téléphones et certaines méthodes racine font les choses un peu différemment (Android 4.3 a apporté beaucoup de modifications) et nécessitent des scripts ou un démon (vous verrez des mots comme daemonsu ou su.d mentionnés) au lieu de simplement supprimer le fichier binaire SU. Celles-ci sont utilisées pour appeler SubstituteUser afin que vous puissiez basculer vers l'utilisateur root comme pour la méthode binaire brute. Les personnes qui ont compris comment rooter votre téléphone ont tout réglé et tout se passera de la même manière du côté de l'utilisateur.

Il est également possible de "temp-root" des androïdes. Cela signifie que vous pouvez avoir les autorisations de super utilisateur et faire certaines choses que vous devez faire, mais un redémarrage enlève l'accès root. De même, vous pouvez avoir un "shell-root" où vous pouvez uniquement accéder à l'utilisateur root via adb à partir de votre ordinateur.

Enfin, je tiens à souligner que si vous aviez ces questions, vous devez vous demander si vous êtes prêt à utiliser un Android enraciné. Nous ne plaisantions pas quand nous avons dit qu'il était facile de ruiner votre téléphone avec un accès SuperUser. Il n'y a aucune raison d'avoir honte d'avoir besoin de lire un peu ou de poser quelques questions supplémentaires avant de faire des choses qui pourraient casser votre téléphone ou donner à une application aléatoire l'application Red de toutes vos données.

Nous sommes là pour ça.