demande de rappel immédiat

Windows 7 : Les dossiers du type "%USERPROFILE%\Application Data"

Posted by Jean-Paul Blanc Tuesday, May 11, 2010 9:53:44 AM
Rate this Content 101 Votes

 

 

 Voici une copie de l'écran qui m'a amené à analyser le comportement de certains dossiers du profil utilisateur.

Tentative de parcours du dossier Application Data

En recherchant sur Google "Application data" et "Accès refusé" les réponses sont nombreuses :

  • "Application Data" est là pour assurer la compatibilité avec des logiciels d'installation conçus pour Windows XP. Ainsi que d'autres dossiers il est interdit d'accès.
  • Sous Windows Sept, il ne faut plus l'utilisé mais lui préférer : %appdata%.
  • Ces dossiers, dont l'iconographie rappelle celle de raccourcis sont en fait des points de jonction (JUNCTION point).

Je vois ici comment trouver ce qui ce cache derrière ces dossiers inaccessibles et comprendre comment ils sont rendus inaccessibles

Les points de Jonction.

Les points de jonction ne sont rien d'autre que des Hard Links, en d'autres termes des entrées de répertoires pointant sur des répertoires de la même partition. Cette notion existe depuis Windows 2000, elle est liée à celle de "REPARSE POINT" mais elle n'était exploitable qu'à partir d'utilitaires spécifiques :

  • Linkd.exe (absent sous Windows Sept)
  • Delrp.exe (absent sous Windows Sept)
  • Fsutil.exe (présent sous Windows Sept)
  • MountVol.exe (présent sous Windows Sept)
Pour information, depuis Windows Vista, en plus des liens physiques (HARD Link) NTFS supporte les liens symboliques (SOFT Link). Ces derniers peuvent êtres considérés comme des raccourcis effectifs. Un outil en ligne de commande permet de créer les deux types de liens:

  • Mklink.exe (présent sous Windows Sept)

Il est possible de visualiser les liens physiques avec l'option "/al" de la commande interne "dir" de cmd.exe comme le montre les manipulations suivante dans le dossier de profil.

 

C:\Users\JPB>dir /al
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 96B0-0597
Répertoire de C:\Users\JPB
09/04/2010  12:47    <JONCTION>     Application Data [C:\Users\JPB\AppData\Roaming]
09/04/2010  12:47    <JONCTION>     Cookies [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Cookies]
09/04/2010  12:47    <JONCTION>     Local Settings [C:\Users\JPB\AppData\Local]
09/04/2010  12:47    <JONCTION>     Menu Démarrer [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Start Menu]
09/04/2010  12:47    <JONCTION>     Mes documents [C:\Users\JPB\Documents]
09/04/2010  12:47    <JONCTION>     Modèles [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Templates]
09/04/2010  12:47    <JONCTION>     Recent [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Recent]
09/04/2010  12:47    <JONCTION>     SendTo [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\SendTo]
09/04/2010  12:47    <JONCTION>     Voisinage d'impression [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Printer Shortcuts]
09/04/2010  12:47    <JONCTION>     Voisinage réseau [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Network Shortcuts]
               0 fichier(s)                0 octets
              10 Rép(s)  258 054 426 624 octets libres

 

 Il est ainsi possible de retrouver rapidement les différents dossiers pointés par les racourcis. La commande suivante permet de visualiser tous les dossiers et fait aussi apparaitre les points de jonction.

C:\Users\JPB>dir /ad
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 96B0-0597
Répertoire de C:\Users\JPB
27/04/2010  08:28    <REP>          .
27/04/2010  08:28    <REP>          ..
30/04/2010  20:05    <REP>          .zenmap
09/04/2010  12:47    <REP>          AppData
09/04/2010  12:47    <JONCTION>     Application Data [C:\Users\JPB\AppData\Roaming]
28/04/2010  21:56    <REP>          Contacts
...
09/04/2010  12:47    <JONCTION>     Voisinage réseau [C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Network Shortcuts]
               0 fichier(s)                0 octets
              26 Rép(s)  258 056 765 440 octets libres

 

Grosse déception si je tente cd "Application Data" depuis mon dossier de profil, je peux me déplacer dans le dossier "Application Data" mais je n'y vois aucun fichier, alors que le dossier C:\Users\JPB\AppData\Roaming en contient. J'essaye alors de créer un lien physique pour en vérifier le fonctionnement.

 

C:\silogix>MKLINK /?
Crée un lien symbolique.
MKLINK [[/D] | [/H] | [/J]] Lien Cible
        /D      Crée un lien symbolique vers un répertoire. Par défaut,
                il s'agit d'un lien symbolique vers un fichier.
        /H      Crée un lien réel à la place d'un lien symbolique.
        /J      Crée une jonction de répertoires.
        Lien    Spécifie le nom du nouveau lien symbolique.
        Cible   Spécifie le chemin d'accès (relatif ou absolu) auquel
                le nouveau lien fait référence.
C:\silogix>MKLINK /D hl-Captures "c:\temp\Captures"
Lien symbolique créé pour hl-Captures <<===>> c:\temp\Captures
C:\silogix>dir hl-Captures
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 96B0-0597
Répertoire de C:\silogix\hl-Captures
11/05/2010  07:50    <REP>          .
11/05/2010  07:50    <REP>          ..
11/05/2010  07:50                 8 test
               1 fichier(s)                8 octets
               2 Rép(s)  258 052 669 440 octets libres
C:\silogix>dir c:\temp\Captures
 Le volume dans le lecteur C n'a pas de nom.
 Le numéro de série du volume est 96B0-0597
Répertoire de c:\temp\Captures
11/05/2010  07:50    <REP>          .
11/05/2010  07:50    <REP>          ..
11/05/2010  07:50                 8 test
               1 fichier(s)                8 octets
               2 Rép(s)  258 052 669 440 octets libres

 

Je peu parcourir un dossier à partir de son lien physique. Il faut donc chercher du coté droits d'accès pour comprendre pourquoi je ne peu pas afficher le contenu du dossier application-data.

 

L'interdiction d'accès.

Dans la pratique, le fait qu'on ne puisse pas visualiser le contenu du dossier "Application data" s'explique par le fait que le point de jonction porte une interdiction de lecture pour le groupe implicite "Tout le monde". Les opérations à réaliser afin de visualiser de nouveau le contenu du point de jonction sont :

  • Prendre possession du dossier. En effet c'est "AUTORITE\Système" qui est propriétaire du dossier. Il est possible de la constater avec la commande "dir /ad /q". Comme l'utilisateur possède le control total sur le dossier il peut en prendre possession simplement. Vous trouverez aisément le moyen de réaliser cela à travers l'interface graphique. C'est un peu moins évident en ligne de commande. Heureusement avec Windows Vista est apparue une commande pour cela : Takeown.exe

    C:\Users\JPB>dir /ad /q
    Le volume dans le lecteur C n'a pas de nom.
    Le numéro de série du volume est 96B0-0597

    Répertoire de C:\Users\JPB

    27/04/2010 08:28 AUTORITE NT\Système .
    27/04/2010 08:28 BUILTIN\Administrateurs..
    30/04/2010 20:05 JPBHPP2\JPB .zenmap
    09/04/2010 12:47 JPBHPP2\JPB AppData
    09/04/2010 12:47 AUTORITE NT\Système Application Data [C:\Users\JPB\AppData\Roaming]
    28/04/2010 21:56 JPBHPP2\JPB Contacts
    09/04/2010 12:47 AUTORITE NT\Système Cookies C:\Users\JPB\AppData\Roaming\Microsoft\Windows\Cookies]
    ...

    C:\Users\JPB>takeown /F "Application Data"
    Opération réussie : le fichier (ou dossier) : "C:\Users\JPB\Application Data" appartient
    désormais à l'utilisateur "JPBHPP2\JPB".
  • Supprimer l'ACE concernant l'interdiction pour le groupe implicite "Tout le monde". J'utilise pour cela l'utilitaire ICacls.exe qui est une version plus ellaborée de Cacls.exe et qui remplece XCacls.exe du kit de ressource technique.
    C:\Users\JPB>ICACLS "Application Data" /remove:d "Tout le monde"
    fichier traité : Application Data
    1 fichiers correctement traités ; échec du traitement de 0 fichiers


    C:\Users\JPB>dir "Application Data"
     Le volume dans le lecteur C n'a pas de nom.
     Le numéro de série du volume est 96B0-0597
    Répertoire de C:\Users\JPB\Application Data
    10/05/2010  09:32    <REP>          .
    10/05/2010  09:32    <REP>          ..
    09/04/2010  16:55    <REP>          Adobe
    17/04/2010  07:24    <REP>          calibre
    22/04/2010  21:17    <REP>          Download Manager
    12/04/2010  11:13    <REP>          FileZilla
    09/04/2010  12:50    <REP>          Hewlett Packard
    09/04/2010  13:50    <REP>          hpqLog

Ceci présenté, il est recommandé par Microsoft de ne pas toucher aux ACLs des dossiers composants le profil.

Comments are closed on this post.