IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Sécurité > User Access Control
        Comment fonctionne UAC ?
        Pourquoi obtient-on des accès refusés tout en étant membre du groupe administrateur local ?
        Quelles sont les différences entre le compte intégré (builtin) administrateur et les membres du groupe Administrateurs?
        Comment désactiver UAC pour les membres du groupe Administrateurs ?
        Comment désactiver UAC pour un utilisateur ?
        Comment désactiver UAC complètement ?
        Je suis connecté avec un compte membre du groupe local administateurs en mode Admin Approval et dans une invite de commande, je ne peux pas créer de fichiers sous la racine c:. Pourquoi?
        Le compte intégré Administrateur (ou Administrator) n'apparait pas dans la fenêtre de Logon. Est-il possible de le faire apparaitre ?
        Au cours d'une même session, je voudrais donner mon consentement une seule fois lorsque j'exécute plusieurs fois la même application, est ce possible ?
        J'exécute runas /user:admin cmd.exe, admin étant un membre du groupe administrateurs et cela me génère un token restreint. Ne devrais-je pas recevoir un token complet?
         Est-il possible, temporairement, d'éviter le mécanisme UAC ?
        A quoi sert le bouclier sur certains programmes, menus ou boutons?
         Comment UAC gère l'ouverture de session ?
        Comment éxécuter une application en mode élevé rapidement ?
         Pourquoi ne peut-on pas accéder aux partages administratifs ou fonctions d'administration (accès distant au registre, Gestion de l'ordinateur, ..) sous Vista ?



Comment fonctionne UAC ?
auteurs : Laurent Gébeau (www.ToutWindows.com), Emmanuel Dreux (Microsoft)
Sous Vista, les membres du groupe local administrateurs ont 2 jetons de sécurité ( Token ), un token complet ainsi qu'un token restreint ( filtré).
Le token filtré est le token complet auquel on a retiré tous les privilèges.
Vous pouvez le visualiser en vous loguant en tant que membre du groupe administrateurs et en lançant whoami /all dans 2 invites de commande (cmd.exe) différentes :
_ une première en lançant simplement cmd.exe,
_ l'autre en exécutant cmd.exe par un clic droit "lancer en tant qu'administrateur".
Vérifiez que le token dans l'invite de commande non élevée n'a aucun privilèges.
Les utilisateurs qui ne sont pas membres du groupe local administrateur ont quand à eux un seul token.

Les utilisateurs membres du groupe local administrateurs tournent par défaut avec leur token restreint. Lorsqu'une tâche nécessite un privilège élevé, UAC demande la permission d'utiliser le token complet ( élévation de privilèges).
En fonction du paramétrage UAC, cela peut être fait de manière transparente ( no prompt ), par consentement ou saisie de mot de passe.

Le mode par défaut pour les membres du groupe administrateurs est celui du consentement ( Admin Approval Mode ).

Le compte intégré administrateur tourne lui quant à lui avec son token complet, il n'a donc pas besoin de donner son consentement pour utiliser un autre token.

L'élévation de privilège s'opère donc pour les comptes disposant de 2 tokens.
Un utilisateur standard n'ayant qu'un token restreint, UAC ne leur proposera pas d'utiliser un autre token et l'utilisateur recevra un Access Denied ou équivalent en tentant d'exécuter une tache nécessitant des privilèges plus élevés.
Par contre, s'il exécute une application "en tant qu'administrateur", il ne passe pas par le mécanisme UAC. En effet, cela crée tout d'abord un nouveau Token d'administration complet qui est alors utilisé pour lancer l'application ( CreateProcessAsUser auquel on passe le token d'administrateur en paramètre).
C'est pourquoi l'exécution d'une invite de commande "en tant qu'administrateur" vous ouvre en fenêtre dans laquelle vous avez les privilèges complets.


Pourquoi obtient-on des accès refusés tout en étant membre du groupe administrateur local ?
auteur : Laurent Gébeau (www.ToutWindows.com)
Exemple :
Je suis membre du groupe local administrateurs en mode Admin Approval (demande de prompt pour élévation) et pourtant lorsque je lance bcdedit ou diskpart dans une invite de commande, je reçois un access denied. Windows ne devrait-il pas me demander la confirmation d'exécution ?
Les développeurs d'application pour Vista doivent fournir un fichier d'entête (manifest) qui décrit entre autres le niveau d'exécution requis par l'application ( c'est à dire le choix d'utilisation du token complet ou restreint ).
Il y a 3 niveaux d'éxécution :
_ AsInvoker : signifie que l'application doit s'exécuter avec le token actuel de l'appelant et donc ne pas demander d'élévation de privilèges.
_ requireAdministrator : signifie que l'application doit s'exécuter avec un token complet d'administration et donc UAC peut vous demander l'accès au token complet si vous tournez avec le token restreint.
_ highestAvailable : l'application fonctionne avec le privilège le plus haut auquel l'utilisateur accède.

Diskpart et bcdedit demandent le niveau d'exécution AsInvoker.

Si l'administrateur lance une invite de commande avec son token restreint, et lance bcdedit ou diskpart par exemple, le contexte d'exécution est celui du token restreint et comme AsInvoker ne demande pas d'élévation de privilèges, un refus d'accès (accès denied) est retourné.

En lançant cmd.exe par un clic droit et "Run as administrator", le token utilisé pour lancer bcdedit ou diskpart est alors le token complet.

Vous pouvez déterminer le niveau d'exécution requis par chaque tache d'administration fournie par Microsoft en examinant les fichiers programmes :
- Téléchargez strings.exe de sysinternals.
- Dans %WINDIR%System32, lancez strings.Exe *.exe | findstr -i "AsInvoker"
- Dans %WINDIR%System32, lancez strings.Exe *.exe | findstr -i "highestAvailable"
- Dans %WINDIR%System32, lancez strings.Exe *.exe | findstr -i "requireAdministrator"

Par exemple :
- bcdedit requiert AsInvoker.
- mmc requiert highestAvailable.
- defrag requiert requireAdministrator.


Quelles sont les différences entre le compte intégré (builtin) administrateur et les membres du groupe Administrateurs?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Par défaut, le compte intégré administrateur est désactivé et n'apparait pas dans la fenêtre de Logon. (il n'est pas utilisable et ne possède pas de mot de passe)
Par défaut, les membres du groupe local Administrateurs exécutent les applications avec leur Token restreint et doivent approuver toute demande d'exécution avec des privilèges plus élevés: ( Mode Admin Approval ).
Le compte intégré administrateur exécute les applications directement avec son token complet, UAC n'a donc bas besoin de rentrer en jeu.


Comment désactiver UAC pour les membres du groupe Administrateurs ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Vous pouvez désactiver cette fonctionnalité en éditant les stratégies de sécurité avec secpol.msc ou gpedit.msc. Naviguez jusqu'à Configuration Ordinateur -> Paramètres Windows -> Paramètres de sécurité -> Stratégies locales -> Options de sécurité. désactivez la stratégie "Run all administrators in Admin Approval Mode" Rebootez ou lancez gpupdate /force puis fermez / ouvrez votre session pour prendre en compte ces changements.


Comment désactiver UAC pour un utilisateur ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Panneau de configuration : Pour un utilisateur, vous pouvez désactiver l'utilisation d'UAC en utilisant le Panneau de Configuration : control panel -> user account -> change security setting (pop up UAC) -> décochez "Use User Account Control (UAC) to help protect your computer"


Comment désactiver UAC complètement ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)

-Base de registre :
La clef de la base de registre est :
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLUA"=dword:00000000

- en utilisant MSCONFIG :
Démarrer / Executer MSCONFIG,
Cliquez sur l'onglet Tools
Sélectionnez Disable UAP, et cliquez sur Launch
Redémarrez l'ordinateur


Je suis connecté avec un compte membre du groupe local administateurs en mode Admin Approval et dans une invite de commande, je ne peux pas créer de fichiers sous la racine c:. Pourquoi?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Il s'agit d'un bug dans la beta 2. Les ACL positionnées à l'installation de Vista ( les mêmes que pour XP SP2) n'autorisent pas la création de fichiers à la racine pour les utilisateurs standards.
Dans une invite de commande qui utilise un token restreint l'administrateur reçoit un access denied lorsqu'il tente de créer ou copier un fichier à la racine.
Si vous lancez un prompt en tant qu'administrateur, dans cette fenêtre vous aurez alors un Token Complet et pourrez créer votre fichier à la racine. De même, depuis l'explorer vous recevrez un prompt et pourrez créer votre fichier à la racine.


Le compte intégré Administrateur (ou Administrator) n'apparait pas dans la fenêtre de Logon. Est-il possible de le faire apparaitre ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Ce compte apparait lorsqu'il n'y a pas de membres dans le groupe local Administrateurs. Il est également possible de le faire apparaitre en ajoutant un clé de registre pour le compte administrateur dans HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList. Ajoutez une nouvelle valeur nommée Administrateur et positionnez la valeur à 1. Pour le cacher de la fenêtre d'accueil, positionnez cette valeur à 0.


Au cours d'une même session, je voudrais donner mon consentement une seule fois lorsque j'exécute plusieurs fois la même application, est ce possible ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Microsoft ne l'a pas prévu (pour le moment !!!). L'idée d'UAC est d'empêcher un code malveillant de s'exécuter sans votre consentement si vous désirez bénéficier de cette protection UAC. Donner son consentement une fois pour toute pourrait conduire un code malveillant à utiliser à votre insu et de manière silencieuse un contexte de sécurité plus élevé que le votre ( token complet ).


J'exécute runas /user:admin cmd.exe, admin étant un membre du groupe administrateurs et cela me génère un token restreint. Ne devrais-je pas recevoir un token complet?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
L'implémentation actuelle de UAC ne permet pas une élévation de privilèges en ligne de commande, ceci afin d'éviter une utilisation par script.

Cette décision est consistante avec le runas fourni dans XP/2003, qui ne permettait déjà plus de spécifier un mot de passe en ligne de commande.


Est-il possible, temporairement, d'éviter le mécanisme UAC ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Pour cela, il faut faire tourner le shell avec un token complet d'administrateur au lieu d'un token d'utilisateur final ou d'un token filtré.
- Lancez une invite de commande par un click droit runas administrator.
- Killez explorer.exe.
- Dans l'invite de commande administrateur, lancez un nouvel explorer ( explorer.exe).

Ce nouveau shell hérite alors du token complet de l'administrateur.

Les processus enfant alors lancés au travers de ce nouveau shell sont donc éxécutés directement avec un token complet, sans passer par le mécanisme d'élévation UAC.


A quoi sert le bouclier sur certains programmes, menus ou boutons?
auteur : Louis-Guillaume MORAND
Ces boucliers signalent les applications ou boutons qui nécessiteront des droits administrateur pour effectuer leur tâche. Selon la configuration de votre ordinateur et de votre compte utilisateur, il vous sera peut-être demandé de saisir les informations d'un compte administrateur (login et mot de passe).


Comment UAC gère l'ouverture de session ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Depuis la RC1 (Release Candidate 1) les applications qui nécéssitent une élévation de privilège sont bloquées.
Dans ce cas l'utilisateur est prévenu par un message dans la barre des taches après la démarrage.

Dans ce cas en cliquant sur le message l'utiliateur peut éxécuter l'application qui a été bloquée ou choisir les applications à autoriser.

Voici les sources de programmes bloquées :
- Menu démarrage utilisateur
- clefs RUN du registre utilisateur
- Menu démarrage machine
- clefs RUN de la machine

Quelques exceptions :
les clefs RUNOnce (pour permettre la fin de l'installation d'un programme après redémarrage)
les applications imposées par les stratégies systèmes dans les clefs RUN


Comment éxécuter une application en mode élevé rapidement ?
auteurs : Emmanuel Dreux (Microsoft), Laurent Gébeau (www.ToutWindows.com)
Si vous avez besoin de lancer régulièrement des applications en mode élevé :
1. Cliquez sur le bouton Démarrer
2. Dans la zone Rechercher saisissez le nom du programme que vous souhaitez lancer en mode élevé (cmd.exe, notepad)
3. Appuyez sur Ctrl + Shift + Enter
4. Vous devez confirmer la demande d'élévation


Pourquoi ne peut-on pas accéder aux partages administratifs ou fonctions d'administration (accès distant au registre, Gestion de l'ordinateur, ..) sous Vista ?
auteurs : Laurent Gébeau (www.ToutWindows.com), Emmanuel Dreux (Microsoft)
UAC interdit l'utilisation de privilèges administrateur local par le réseau par défaut.
Il est possible de désactiver l'UAC pour l'accès à distance uniquement :
Démarrer, Exécuter puis tapez regedit
Ouvrez : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system.
Créez une nouvelle valeur Dword nommée LocalAccountTokenFilterPolicy
Modifiez ça valeur hexadécimale à 1
Redémarrez l'ordinateur

Vous pourrez désormais accéder aux partages administratifs et administrer à distance le PC via les consoles MMC avec un compte membre du groupe Administrateurs.

Pour réactiver l'UAC pour l'accès à distance, il suffira de supprimer la valeur DWORD, ou de lui mettre la valeur 0



Consultez les autres F.A.Q's


Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.