Fonctionnement du Contrôle de compte d'utilisateur

Le coin de la boite à outils, freeware, shareware pour gérer et entretenir votre PC

Modérateurs : Remi77, Freddie

Règles du forum
Il vous appartient de vérifier auprès de l'éditeur ou de l'auteur du soft si une mise à jour plus récente est disponible et vous invite à en faire part dans ce forum.
Vous êtes libre de poster et demander toutes astuces, recherche de soft dans ce forum.
Répondre
Avatar du membre
Remi77
Administrateur
Administrateur
Messages : 639
Enregistré le : lun. juil. 30, 2007 12:58 pm
Contact :

Fonctionnement du Contrôle de compte d'utilisateur

Message : # 1103Message Remi77 »

Fonctionnement du Contrôle de compte d'utilisateur

Cette page va nous permettre de comprendre une des innovations majeures de Windows Vista appelée Contrôle de compte d'utilisateur (UAC).
Par défaut quand Windows XP était installé, les comptes d'utilisateurs que vous établissiez possédaient tous des privilèges d'administrateur. Ce type de compte possédait un accès quasi complet aux ressources système. Dès qu'un utilisateur était ajouté au groupe des administrateurs il recevait automatiquement un certain nombre de privilèges comme celui, par exemple, de sauvegarder des fichiers et des dossiers et que nous notons sous ce terme : SeBackupPrivilege. Ce privilège n'était pas accordé aux comptes d'utilisateurs standards ou au compte Invité. Cet ensemble de privilèges est différent du jeu des permissions NTFS qui, quant à lui, s'applique aux objets système : fichier, dossier, clé du Registre, etc. Les privilèges ne se définissent qu'à travers les comptes d'utilisateur. Au final, à chaque fois que vous ouvrez une session d'utilisateur un jeton d'accès vous est attribué qui défini les privilèges dont vous disposez et qui trace les ressources auxquelles tendent d'accéder ou accède l'utilisateur. Comment est-ce que cela fonctionne ? Chaque ressource disponible sur le système possède une liste de contrôle d'accès (ACL) qui enregistre les utilisateurs et les services qui peuvent accéder à une ressource ainsi que le niveau de permission qu'ils possèdent.
Nous pouvons résumer le type d'accès des administrateurs en deux points :

Accès en écriture et en lecture à tous les objets systèmes ;
Assurance de disposer de tous les privilèges disponibles.
Cela posait un problème en terme de sécurité qu'il est facile de décrire : un programme malveillant qui s'initiait dans un compte d'utilisateur disposant des privilèges d'administrateur recevait alors automatiquement et comme par délégation de pouvoir l'ensemble des privilèges et des permissions du compte qui était attaqué. C'est pour cette raison qu'il est souvent conseillé sous Windows XP de lancer un navigateur Internet en tant qu'utilisateur restreint. C'est une manière simple de réduire l'impact d'une attaque d'un malware ou d'un virus.
Sous Windows Vista l'architecture des comptes d'utilisateurs qui est définie est très différente.
Il existe deux sortes de comptes qui sont :

Les administrateurs ;
Les utilisateurs standards.
La liste suivante récapitule les principales opérations que peuvent faire un utilisateur standard et celles qui requièrent de disposer de privilèges d'administrateur.

Utilisateurs standards :

Créer une connexion au réseau local
Créer une connexion sans-fil
Changer les paramètres d'affichage
Modifier l'arrière-plan du Bureau Windows
Faire marcher un disque CD ou DVD
Graver un disque
Changer les paramètres d'heure et de date
Changer son mot de passe
Configurer la Gestion d'alimentation
Restaurer les fichiers sauvegardés
Configurer les options d'accessibilité
Configurer un périphérique Bluetooth
Synchroniser la machine avec un périphérique nomade
Administrateurs :

Installer et désinstaller des applications
Installer un périphérique
Installer Windows Update
Configurer le Contrôle parental
Installer un contrôle ActiveX
Paramétrer le Pare-feu Windows
Changer le type d'un compte d'utilisateur
Modifier le comportement du Contrôle du compte d'utilisateur
Configurer une connexion d'Accès à distance
Définir des tâches planifiées
Parcourir le dossier d'un autre compte d'utilisateur
Ajouter ou supprimer un compte d'utilisateur

Il y a donc une distinction entre :

Les opérations pour lesquelles un compte d'utilisateur standard suffit.
Les opérations qui nécessitent d'être un administrateur.
Ainsi le fait de modifier une clé du Registre nécessitera d'être un administrateur tandis que la possibilité de naviguer sur Internet sera autorisée pour tout le monde.



Architecture du Contrôle de compte d'utilisateur

Quand vous ouvrez une session sur Windows Vista le principe qui régit le jeton d'accès est très différent de celui qui était en vigueur sous Windows XP. Par défaut les administrateurs reçoivent deux jetons d'accès :

Un jeton en tant qu'administrateur ;
Un jeton "maquillé" en tant qu'utilisateur standard et c'est ce dernier qui est attribué par défaut.
Ce jeton attribué vous permet d'accéder au Bureau Windows et donc au Shell du système d'exploitation. Le processus Explorer.exe agit comme processus parent et tous les processus initiés disposent des mêmes privilèges restreints. Dès qu'un utilisateur initie une opération qui nécessite un jeton d'accès administrateur une boîte de dialogue le prévient que le processus initié doit pour pouvoir s'exécuter bénéficier d'une élévation de privilèges.
Windows Vista protège les processus en les marquant d'un niveau d'intégrité. Ces niveaux d'intégrité fonctionnent comme des indices de confiance.
Une application possédant un niveau d'intégrité élevée permet de modifier des données systèmes importantes. À l'inverse une application possédant un niveau d'intégrité faible sera suffisante pour naviguer sur Internet.
Un système de protection empêche une application possédant un niveau d'intégrité faible de "s'attaquer" à une ressource système marquée d'un niveau d'intégrité élevé.

Le processus de virtualisation

Cette technique permet de faire fonctionner des applications qui possèdent l'une ou l'autre de ces caractéristiques :
Elles n'ont pas été conçues à l'origine pour Windows Vista et nécessitent pour fonctionner d'accéder à des objets système qui leur est en principe interdits. Cela peut être une clé du registre sur laquelle une application ne possède pas de droit en écriture ou un type de privilège qui n'est pas autorisé. En bref, cette possibilité existe surtout à seule fin de compatibilité.
Elles nécessitent de toute façon un jeton d'accès dévolu aux administrateurs et ne peuvent fonctionner qu'à cette condition.
Dans ces deux cas Windows Vista dispose d'une technologie en trompe-l'œil appelée "Virtualisation".
Quand une application qui n'est pas dans le mole "UAC" tente d'écrire dans un répertoire protégé comme celui des programmes ("Program Files") ou une branche du Registre interdite ("HKEY_LOCAL_MACHINE") le Contrôle de Compte d'utilisateur lui offre une vue biaisée en créant des arborescences virtualisées des ressources qui sont modifiées. Rappelez-vous que les processus exécutés en tant qu'administrateur ne sont pas quant à eux virtualisés.
Par ailleurs, la virtualisation ne s'applique pas aux applications qui contiennent dans leur "manifeste" un niveau d'exécution explicite. Dans ce dernier cas il vous sera directement demandé d'exécuter l'application en tant qu'administrateur. Nous pouvons définir le manifeste d'une application un certain nombre d'information contenu dans le fichier exécutable permettant son lancement et qui informe le système d'exploitation du niveau d'intégrité dont elle a besoin pour pouvoir s'exécuter sans erreur.
Pour cela Windows Vista utilise une technologie de détection des installations qui ne s'appliquent qu'aux :

Applications 32 bits ;
Applications dépourvus de niveau d'intégrité requis ;
Applications qui s'exécutent avec un jeton d'utilisateur standard.


Le Contrôle de Compte d'utilisateur en action

Vous avez deux solutions quand une application ne vous propose pas d'être exécutée en tant qu'administrateur :

Soit en accédant au menu contextuel du raccourci ou du fichier exécutable vous cliquez sur la commande Exécuter en tant qu'administrateur ;
Soit vous lancez l'application à partir d'une autre application qui elle a été initiée en tant qu'administrateur.
Cela explique qu'il est souvent plus pratique de lancer l'Invite de commandes en tant qu'administrateur. Les autres commandes que vous saisirez bénéficieront automatiquement du même niveau de privilèges.
Quand à partir d'un compte d'administrateur vous lancez une application nécessitant une élévation de privilèges vous aurez ce type de boîte de dialogue : "Windows a besoin de votre autorisation pour continuer".
À partir d'un compte d'utilisateur standard il vous sera demandé pour continuer le mot de passe d'un compte possédant des privilèges d'administrateur.
Il existe de plus dans l'interface graphique des indications quand une action nécessite une élévation de privilèges :

Cliquez sur l'horloge placée dans la zone de notification.
Cliquez sur le lien Modifier les paramètres de la date et de l'heure…
Le bouton Changer la date et l'heure est orné du blason représentant le bouclier du Centre de sécurité.
Cliquez sur ce bouton.
Boum ! Le système va vous demander si l'action initiée reçoit votre approbation ou non.
À chaque fois vous pouvez cliquer sur le bouton Détails afin de savoir quels sont les fichiers systèmes qui seront lancés.
Dans le premier cas nous parlons de la boîte de dialogue qui apparaît lors d'une demande d'élévation de privilèges et dans le second de celle vous demandant de répondre à une demande d'identification.
Notez qu'un menu d'interface graphique vous permet de désactiver cette fonctionnalité très facilement :

Cliquez sur Démarrer/Panneau de configuration puis ouvrez l'applet Comptes d'utilisateurs.
Cliquez sur le lien Activer ou désactiver le contrôle des comptes d'utilisateurs.
Décochez la case Utiliser le contrôle de comptes d'utilisateurs pour vous aider à protéger votre ordinateur.
Redémarrez votre machine pour que les modifications apportées soient effectives.
Il y a un second scénario qui s'applique quand vous exécuter une application en tant qu'administrateur.
Si l'application que vous voulez initiée ne provient pas d'un éditeur de confiance vous obtiendrez une variante dans le message affiché par la boîte de dialogue "Un programme non identifié veut accéder à votre ordinateur". La couleur du bandeau supérieur sera aussi différente.
Nous pouvons donc retracer le schéma suivant :

L'application est analysée par le système d'exploitation.
Si l'éditeur est Windows Vista il vous sera signifié que Windows a besoin de votre autorisation pour continuer (bandeau bleu).
Si l'éditeur n'est pas Windows Vista mais que l'application a été signée numériquement il vous sera signifié que Windows a besoin de votre autorisation pour continuer (bandeau gris).
Si l'application n'a pas été signée numériquement il sous sera signalé qu'un programme non identifié veut accéder à votre ordinateur (bandeau orange).
Signalons un dernier point important : il n'est pas possible de désactiver l'apparition de ces boîtes de dialogue pour telle ou telle application. Soit vous désactivez totalement le Contrôle de compte d'utilisateur soit vous vivez avec !

Exécuter plus rapidement une application en mode Administrateur

Il y a différentes manières d'exécuter une application en tant qu'administrateur :

Cliquez avec le bouton droit de la souris sur un des raccourcis présents sur le Bureau ou le menu Démarrer puis sélectionnez la commande Exécuter en tant qu'administrateur ;
Cliquez avec le bouton droit de la souris sur le nom du raccourci puis sur le sous menu Propriétés.
Cliquez sur l'onglet Compatibilité.
Cochez la case Exécuter ce programme en tant qu'administrateur.
Notez que l'onglet Compatibilité peut ne pas être présent si le raccourci pointe vers le fichier MSI et non le fichier exécutable permettant de lancer l'application.
Vous pouvez lancer une application en tant qu'administrateur à partir du Gestionnaire de tâches ou de l'Invite de commandes eux-mêmes exécutés en tant qu'administrateur.
Voici une manière d'exécuter rapidement un programme en tant qu'administrateur en n'utilisant que les touches de raccourcis du clavier :

Appuyez sur la touche Windows.
Tapez la commande voulue dans la zone de texte Rechercher placée juste au -dessus.
Appuyez sur les touches Ctrl + Maj. + Entrée.
À l'apparition de la fenêtre "Windows a besoin de votre autorisation pour continuer" appuyez sur la flèche de gauche puis sur la touche Entrée.
Éviter l'apparition de la boîte de dialogue d'élévation de privilèges quand vous exécutez certains programmes en tant qu'administrateur

Nous allons prendre l'exemple de la création d'un raccourci permettant de lancer le Registre Windows sans que la boîte de dialogue du Contrôle de compte utilisateur n'apparaisse.

Cliquez sur Démarrer - Tous les programmes - Accessoires - Outils système - Planificateur de tâches.
Dans le volet de droite, cliquez sur le lien Créer une tâche (et non Créer une tâche de base).
Indiquez un nom et une description pour cette tâche.
Copiez le nom dans le presse-papiers Windows : nous allons nous en servir un peu plus tard…
Dans notre exemple, le nom donné à cette tâche est "Lancer le Registre".

Cochez la case Exécuter avec les autorisations maximales.
Cliquez sur l'onglet Actions puis sur le bouton Nouveau…
La liste déroulante Action doit être paramétrée sur l'option Démarrer un programme.

Cliquez sur le bouton Parcourir… puis saisissez le nom du fichier exécutable permettant de lancer l'application.
Dans notre exemple : C:\Windows\System32\regedt32.exe.

Cliquez sur l'onglet Conditions puis décochez toutes les cases activées.
Cliquez sur l'onglet Paramètres.
Cochez les cases Autoriser l'exécution de la tâche à la demande et Arrêter la tâche si elle s'exécute plus de.
Cochez la case Si la tâche ne se termine pas au moment demandé, forcer son arrêt.
Dans la liste déroulante Si la tâche s'exécutait déjà, la règle suivante s'applique, sélectionnez l'option Ne pas démarrer une nouvelle tâche.
Validez pour le reste en cliquant sur OK.
Cliquez avec le bouton droit de la souris sur une partie vide du Bureau puis sur le sous menu Nouveau - Raccourci.
Dans la zone de texte Entrez l'emplacement de l'élément, saisissez cette commande : C:\Windows\System32\schtasks.exe /run /TN "Nom de votre tâche".
Dans notre exemple : C:\Windows\System32\schtasks.exe /run /TN "Lancer le Registre".

Cliquez sur le bouton Suivant.
Indiquez un nom pour votre raccourci puis cliquez sur le bouton Terminer.
Mission accomplie !
Répondre

Retourner vers « Le coin informatique »