Vous êtes sur la page 1sur 33

Microsoft® Windows NT™

Gestion de la configuration du
Registre
PLAN
✔ Le problème
✔ Objectifs de conception du Registre
✔ Structure globale du Registre
✔ Utilisation du Registre
✔ Synthèse
Le problème
✔ Trop de fichiers de configuration
✔ Pas de sécurité des données de configuration
✔ Configuration non récupérable
✔ Stockage de configuration rarement distribué
✔ Mélange des données utilisateur et machine
✔ Informations de configuration très difficiles à
synchroniser
Objectifs de conception
✔ Stockage unifié pour les données de
configuration
✔ Sécurité
✔ Accès distribué
✔ Fiabilité et possibilité de récupération
✔ Données complexes et volumineuses
stockées de façon hiérarchique
✔ Stockage par utilisateur, par machine
✔ Compatibilité
Structure globale
Programmes Identificateur
de config.
Données
matériel
Contrôle Contrôle
chargement chargement
NTOSKRNL
Registre Version et
Config. générale
et profil configuration
Paramètres
de chargement

Outils de Configuration
configuration/ Configuration Pilotes de
d'administration périph.
Utilisation des ressources
Une arborescence composée de
noeuds
✔ Le Registre prend la forme d'un arbre
semblable à un système de fichiers
✔ Chaque noeud est une "clé"
✔ Chaque clé peut contenir des clés filles
(semblables à des répertoires)
✔ Chaque clé peut contenir des entrées
valuées (semblables à des fichiers)
Clés et entrées valuées
Clés
✔ Horodatage
✔ Descripteur de sécurité - totalité des
contrôles d'accès basés sur les clés
✔ Jeu de clés filles - dans l'espace du
Registre réservé aux noms
✔ Jeu d'entrées valuées - espace nom privé
pour chaque clé
Deux types de stockage
✔ Stable - préservé jusqu'à sa suppression
délibérée
– Fonctionnement par défaut. Très semblable à celui
d'un système de fichiers.
✔ Volatile - perdu à l'amorçage suivant
– Attention : perdu à l'amorçage suivant, non à
l'ouverture de session suivante
– Les éléments inférieurs à une clé volatile doivent
également être volatiles
– Certaines parties du Registre (par exemple,
HKEY_LOCAL_MACHINE\Hardware) doivent
être totalement volatiles
Limites de stockage
✔ Dans la première version, aucun quota
n'était imposé sur le Registre
✔ Taille des entrées valuées limitée à
1 Mo
✔ A partir de 3.51, la taille totale du Registre
est limitée à 32 Mo
Organisation des données
✔ Par utilisateur
– Couleurs
– Présentation du bureau
– Préférences relatives aux applications
✔ Par machine
– Configuration du matériel
– Pilotes de périphériques chargés
L'espace nom : Handles prédéfinis
✔ HKEY_LOCAL_MACHINE - base des
informations par machine - toujours local
✔ HKEY_USERS - racine de la liste des
utilisateurs
✔ HKEY_CURRENT_USER - racine du
profil de l'utilisateur courant. Peut être placé
n'importe où
✔ HKEY_CLASSES_ROOT - données OLE
et d'association de classes
HKEY_USERS
 HKEY_USERS
 .DEFAULT
 Console
Panneau de configuration
Environnement
Configuration du clavier
Groupes de programmes
Logiciels
 Microsoft

S-1-5-21-Y2-Y3-Y4-Y5
HKEY_CURRENT_USER
 HKEY_CURRENT_USER
 Console
 Panneau de configuration
 Environnement
 Configuration du clavier
 Réseau
 Groupes de programmes
 Logiciels
 Microsoft
HKEY_CURRENT_USER
 HKEY_CURRENT_USER
 Console
 Panneau de
configuration
 Environnement  HKEY_USERS
 Configuration  .DEFAULT
du clavier  S-1-5-21-Y2-Y3-Y4-Y5
 Réseau  Console
 Panneau de configuration
Groupes de programmes
\...
 Logiciels
 Microsoft
HKEY_CLASSES_ROOT
 HKEY_CLASSES_ROOT
 .bmp
.cal
.crd
.hlp
\...

 OLE/associations comme sous Windows™ 3.1


HKEY_CLASSES_ROOT
 HKEY_CLASSES_ROOT
 .bmp
.cal
.crd
.hlp
\...
 HKEY_LOCAL_MACHINE,
\Software\Classes
 .bmp
 .cal
 .crd
 .hlp
 \...
HKEY_LOCAL_MACHINE
✔ \Hardware - données de configuration du matériel,
utilisation des ressources, etc.
✔ \SAM - base de données de comptes d'utilisateur
✔ \Security - base de données de sécurité interne
✔ \Software - données logicielles par machine, non
essentielles pour l'amorçage
✔ \System - contrôle l'amorçage et le
fonctionnement du système (rôle joué par
config.sys)
Machine : \Hardware
✔ \Description : données de configuration
recherchées
✔ \ResourceMap : données sur l'utilisation des
ressources
✔ \DeviceMap : mappage des noms de pilotes
de périphériques (et d'autres données
communiquées par les pilotes aux autres
éléments du système)
HKEY_LOCAL_MACHINE = MACHINE
Identification matériel x86
Elément Exemple d'entrée

ID machine AT/AT-compatible
Processeur central 80486-D0
Coprocesseur mathématique 80486-D0
Type de bus/d'adaptateur ISA
Video Video7 VGA DRAM
Clavier PCAT_ENHANCED
Port de communication COM1
Port parallèle PARALLEL1
Lecteur de disquettes Floppy1/Floppy2
Souris Microsoft Serial Mouse
Machine : \Software
✔ Les données par machine sont stockées
dans HKEY_LOCAL_MACHINE,
Software\<co>\<pro>\<ver>\...
– <co> nom de votre entreprise
– <pro> nom de votre produit
– <ver> nom ou numéro de version
✔ HKEY_LOCAL_MACHINE,
Software\Microsoft\Excel\4.0\...
– Ecrit lors de l'installation ou de la configuration
Données d'application
✔ Les données par utilisateur sont stockées
dans HKEY_CURRENT_USER,
Software\<co>\<pro>\<ver>\...
– écrites au moment de l'exécution (le profil
configuré/installé est peut-être incorrect)
Machine : \System
✔ Contrôle de l'amorçage
– Contrôle de la récupération
– Contrôle du chargement des pilotes
– Données de contrôle des services
– Données du Gestionnaire de session
– Données diverses de configuration du
système
Jeux de contrôle
✔ Un jeu de contrôle est une "instance" de
paramètres système
✔ Jeux de contrôle CurrentControlSet et
LastKnownGood
✔ CurrentControlSet est un lien avec le jeu de
contrôle qui a servi à l'amorçage du
système
✔ Le contrôle de l'amorçage choisit le jeu de
contrôle amorçable
Jeux de contrôle
✔ Chaque jeu de contrôle est constitué de
deux sections : Control et Services
✔ La section Control contient les paramètres
du Gestionnaire de session, de gestion de
la mémoire, etc.
✔ La section Services contient la liste des
pilotes, des services Win32™ et des
systèmes de fichiers devant être chargés
Contrôle du chargement des pilotes
✔ Spécifie, à l'aide de deux clés, la façon
dont la liste de services doit être
interprétée :
– ServiceGroupOrder - liste de chaînes de
caractères multiples contenant la liste des
groupes dans l'ordre où ils doivent être
chargés
– GroupOrderList - une entrée valuée par
groupe, chaque entrée contenant la liste des
valeurs Tag dans l'ordre où elles doivent être
chargées
Contrôle du chargement des pilotes
✔ La section Services contient la liste des services.
Chaque entrée décrit un service (c.-à-d. un pilote)
✔...\CurrentControlSet\Services
\<nom-entrée> = normalement un nom de pilote
Valeurs :
Type, Start, ErrorControl, Group
Tag, DependOnGroup
 \Parameters
 <vos-données>
Contrôle du chargement des pilotes
✔ Type
– 0x1 = Pilote de périphérique  0x2 = Système de fichiers
– 0x4 = Adaptateur  0x10, 0x20 = Service Win32
✔ Start (phase de chargement)
– 0 = Charger à l'amorçage
– 1 = Charger à l'initialisation
– 2 = Services et pilotes indépendants de l'amorçage
– 3 = Charger sur demande
– 4 = Ne pas charger
✔ Tag
– Contrôle l'ordre de chargement au sein du groupe
"Start"
– Pas indispensable mais utile pour le séquençage du
chargement
Contrôle du chargement des pilotes
✔ ErrorControl
– 0 = Interrompre l'amorçage en cas d'échec de
chargement
– 1 = Poursuivre l'amorçage en cas d'échec de
chargement
✔ Group
– Chaîne spécifiant le nom de "Group" pour ce pilote
• “SCSI Class”; “SCSI miniport”
✔ Dependencies
– Chaînes du "Group" dont le chargement est
indispensable au succès du chargement
• Un pilote SCSI doit utiliser la valeur SCSI miniport
Ruches et fichiers
HKEY_LOCAL_MACHINE
Ruche Security
\Security
...\System32\Config
Security
Security.log

Ruche SAM
\SAM ...\System32\Config
SAM
SAM.log

Ruche Software
\Software ...\System32\Config
Software
Software.log
Ruches et fichiers
HKEY_LOCAL_MACHINE

Ruche System
\System ...\System32\Config
System
System.alt

Ruche Hardware
\Hardware
Totalement volatile ;
aucun fichier
Interactions du Registre
✔ Applications du Panneau de
configuration
– Fuseau horaire
– Panneau de configuration réseau
– Couleurs
✔ Gestionnaire des utilisateurs
✔ Gestionnaire de fichiers
✔ Editeur du Registre
✔ Autres
L'Editeur du Registre
✔ Afficher et modifier les données du
Registre
✔ Définir des paramètres de sécurité pour
les clés du Registre
✔ Enregistrer/Restaurer la ruche
✔ Accéder à un Registre distant
Synthèse
Avantages pour les utilisateurs
✔ Stockage unifié pour les données de
configuration
✔ Sécurisation des données de configuration
✔ Gestion distribuée (accès distant aux
données de configuration)
✔ Stockage fiable des données de
configuration
✔ Gestion "multiutilisateurs" (profil par
utilisateur)