5 votes

Le mode noyau du système d'exploitation et les autorisations Root dans Android sont-ils la même chose ?

Comme il est écrit dans le livre de Peter Baer Galvin Concepts du système d'exploitation , il y a deux modes de fonctionnement -

1. mode utilisateur
2. le mode noyau

Ma question est donc la suivante : lorsque nous démarrons notre Android, modifions-nous le noyau linux pour obtenir les permissions du mode noyau ?

14voto

slugster Points 27178

Les permissions de la racine et le mode noyau ne sont pas la même chose. Les programmes disposant d'un accès racine peuvent accéder à une partie du noyau, mais la racine n'est pas le noyau lui-même.

Le modèle d'utilisateur Android (et Linux) comporte un ensemble d'utilisateurs, chacun faisant partie d'un ensemble de groupes. Ces groupes sont utilisés pour gérer l'accès des utilisateurs à certains éléments. Par exemple, sous Linux, vous pouvez configurer tous les périphériques d'impression pour qu'ils appartiennent au groupe d'impression, de sorte que seuls les utilisateurs qui font partie du groupe d'impression puissent accéder aux imprimantes.

Dans Android, chaque application dispose de son propre compte utilisateur afin d'empêcher les applications d'accéder aux données des autres.

Parmi tous ces utilisateurs, il y a un utilisateur particulier : Root. Il s'agit de l'utilisateur disposant des autorisations les plus élevées, également appelé "super utilisateur". En principe, tous les contrôles d'autorisation sont désactivés pour cet utilisateur. Root peut faire des choses comme changer la propriété des fichiers, ajouter des utilisateurs à des groupes, gérer les composants du système et plus encore.

Le mode noyau est légèrement différent. Lorsqu'un système basé sur Linux démarre, le noyau est la première chose chargée par le chargeur de démarrage. Le noyau se charge de traiter les commandes du système ("écrire l'octet x dans le fichier y", "lister tous les périphériques connectés au bus USB"). C'est également là que résident de nombreux pilotes, qui aident le système à comprendre comment communiquer avec un périphérique.

Après l'initialisation, le noyau lance un programme en mode utilisateur. Les programmes fonctionnant dans ce mode ne sont pas autorisés à accéder directement à la mémoire des périphériques, ils ne peuvent pas modifier les tables de pages, en fait ils ne peuvent rien faire de ce que le noyau est censé faire. Le seul moyen d'exécuter une commande système est de passer par le noyau, et c'est le noyau qui décide si un programme est autorisé ou non à le faire.

Dans Android, le noyau lance un programme d'initialisation qui, à son tour, lance certains processus d'arrière-plan et le système Android avec lequel vous pouvez interagir.

Le noyau décide quel utilisateur est autorisé à exécuter certaines fonctions du système. De nombreuses fonctions système, telles que le montage d'une partition pour la rendre accessible en écriture, ne sont accessibles qu'aux programmes exécutés en tant que Root. Root peut contacter et contrôler le noyau, mais en fin de compte, c'est le noyau qui décide ce que Root peut ou ne peut pas faire.

Ainsi, le mode noyau fait généralement référence au code s'exécutant à l'intérieur du noyau, tandis que le mode racine fait référence aux autorisations dont dispose un programme.

Par souci de clarté, j'ignore les outils tels que SELinux, qui sont conçus pour limiter les fichiers auxquels les programmes exécutés en tant que Root peuvent accéder. Il s'agit d'une mesure de sécurité qui permet d'éviter de compromettre le système même si un programme système fonctionnant en tant que Root est exploité et commence à exécuter du code provenant de pirates. Cette mesure est prise à l'aide d'un module spécial dans le noyau.

0voto

Bryan Points 1

Lorsque vous effectuez un rootage, vous accordez toutes les permissions à l'appareil. Vous utilisez déjà le noyau (pilotes, commandes), donc Root vous permet de modifier l'ensemble du système (ajouter des utilisateurs, modifier les fichiers système). Ma réponse est extrêmement simple, d'autres réponses explorent la même chose.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X