1 votes

Une fois qu'une application demande Root, pourquoi demande-t-elle d'autres autorisations ?

Je vois des applications qui nécessitent à la fois des autorisations Root et des autorisations normales.

A quoi cela sert-il, puisque Root laisse entendre qu'il peut tout faire ?

3voto

Andy Brudtkuhl Points 1714

Les permissions dans Android affectent principalement les fonctionnalités du cadre Android et d'autres applications. Le fait d'être Root ne vous permet pas d'accéder directement à cette fonctionnalité d'Android et des applications, car il vous accorde un accès de niveau inférieur au système.

Prenons l'exemple d'une application qui souhaite accéder à vos contacts. Lorsqu'elle essaie d'interroger les contacts fournisseur (la base de données des contacts), l'application Contacts Storage exige qu'elle dispose de la permission appropriée. En termes de système Unix, chaque application a son propre ID utilisateur, et les permissions sont représentées par des groupes Unix. Il s'agit donc de vérifier si l'utilisateur de l'application est membre du groupe approprié. Si l'application n'a pas cette permission, la vérification échouera, même si l'application peut lancer un shell Root quand elle le souhaite.

Maintenant, puisque l'application a Root, elle peut s'ajouter à tous les groupes qu'elle veut, avant d'essayer d'accéder aux contacts, mais c'est inutilement long. Il est simplement beaucoup plus facile pour l'application de demander la permission et d'être ajoutée au groupe par Android lui-même.

En outre, il est bon pour la sécurité que l'application utilise Root aussi peu que possible. Idéalement, il devrait y avoir un petit composant de l'application qui est lancé en tant que Root lorsque cela est nécessaire, de sorte que la plupart de l'application s'exécute normalement (pas en tant que Root). Cela pourrait même être aussi simple qu'une seule commande lancée en tant que Root. De cette façon, si quelque chose ne va pas avec le reste de l'application - peut-être qu'un attaquant trouve un moyen de la subvertir, ou peut-être qu'il y a simplement un bug qui pourrait supprimer tous vos fichiers - il n'a pas les pouvoirs magiques de Root pour infecter ou endommager l'ensemble du système, car il est toujours protégé par le mécanisme de sécurité normal.

En bref : l'application peut s'accorder toutes les autorisations en utilisant Root, mais il est plus facile pour le programmeur, et meilleur pour la sécurité, si le programme n'utilise Root que lorsque cela est nécessaire.

1voto

HasH_BrowN Points 2420

La raison en est que Root est au niveau du système, généralement la partie sur laquelle les utilisateurs n'ont pas de contrôle. Les autres permissions sont nécessaires pour accéder au niveau utilisateur, sur lequel les utilisateurs ont le contrôle.

Lorsque vous autorisez une application à avoir un accès Root/superutilisateur, assurez-vous de bien comprendre ce qu'elle va faire et faites une sauvegarde.

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