NTFS francais

Post on 01-Jun-2015

726 views 4 download

description

le système de gestion des fichiers

Transcript of NTFS francais

Système de gestion de fichiers sous Windows (NTFS)

créé pour satisfaire des critères de- taille des volumes et fichiers- sécurité un enjeu : la performance

NTFS (New Technology File System) 

Intro: Voyant les limitations de ses systèmes de fichiers,

Microsoft a créé le NTFS. En théorie, le NTFS utilise 64 bits pour adresser les

clusters. Toutefois, 32bits seulement sont utilisés sous Windows XP.

Le NTFS a plusieurs caractéristiques non supportées par le FAT: l’impact des erreurs disque est minimal, le système de fichier contient de l’information pour la sécurité des fichiers, les noms sont en Unicode(le standard de codage de caractères), etc.

Ce système permet ainsi l’utilisation de noms longs, mais, contrairement au système FAT32, il est sensible à la casse, c’est-à-dire qu’il est capable de différencier des noms en majuscules de noms en minuscules.

NB:NTFS (NTFS) utilisé uniquement sur Windows NT, W2000, XP, 7,8.

Pour ce qui est des performances, l’accès aux fichiers sur une partition NTFS est plus rapide que sur une partition de type FAT car il utilise une technique plus performants pour localiser les fichiers (un arbre binaire).

La limite théorique de la taille d’une partition est de 16 exaoctets (17 milliards de To), mais la limite physique d’un disque est de 2To.

Rq : NTFS v.5 devrait aussi apporter la possibilité d’administration à distance...

Le NTFS fonctionne par Volume. Un volume est une fraction d’un disque dur

de taille déterminée par l’usager (Un disque dur peut être un unique volume). Chaque volume du NTFS est décrit par des fichiers

invisibles à l’usager contenus à l’intérieur du volume. Ces fichiers, des

métafichiers, décrivent la structure et le contenu du volume. Voici quelques

exemples de métafichiers: – Le fichier $BADCLUS décrit les clusters défectueux sur le disque – Le fichier $BITMAP décrit les clusters libres du disque. – Le fichier $LOGFILE décrit toutes les transactions effectuées sur le disque (permet de récupérer d’une faute de disque) – …

en NTFS tout est fichier . . . - métadonnées du système - métadonnées des fichiers/répertoires - fichiers/répertoires exemples : - fichier $MFT -> localisation détaillée

de tous les fichiers - fichier $Boot -> tailles, localisation de

la MFT,

Boot & mtf

Le MFT (Master File Table) :

Le MFT est le métafichier principal du NTFS. Ce métafichier contient l’information sur l’ensemble du disque dur.

Les données sont stockées sous forme d’enregistrements (records) dans la MFT. Un fichier, par exemple, est représenté par un ou plusieurs enregistrements.

la $MFT est un fichier d’enregistrements :

entrée >= enregistrement - création d’un fichier => ajout d’entrée - suppression d’un fichier => marquage

(uniquement) -> la $Mft : ne fait que grandir

la MFT et sa zone réservée zone réservée et MFT - but : maintenir la $MFT, qui ne fait

qu’augmenter de taille, non fragmentée - taille zone par défaut : 12,5% de la partition - le fichier $MFT grandit dans sa zone au

début, puis au delà (il se fragmente) -> une MFT fragmentée ralentit le système

la taille de la zone peut être configurée avant le formatage

NtfsMftZoneReservation : valeurs de 1 à 4 permet de lui

réserver : 1 -> 1/8 = 12,5% de l’espace (valeur par défaut) 2 -> 2/8 = 25% de l’espace 3 -> 3/8 = 37,5% de l’espace 4 -> 4/8 = 50% de l’espace

la valeur 4 (50%) protège mieux la MFT de la fragmentation à

long terme plus de place pour de nouveaux fichiers ? - si possible la zoneMFT est réduite de

(50%) - l’action est répétée si nécessaire, elle est

irréversible Les outils de défragmentation intégrés ne défragmentent pas la MFT

zone MFT : quelle taille choisir au moment du formatage ?

plutôt des petits fichiers -> grande zone MFT (moins

d’espace pour les blocs) plutôt des grands fichiers -> petite

zone MFT (plus d’espace pour les blocs)

Les 16 premiers d’enregistrements de la MFT contiennent des informations sur le volume. Il s’agit de métadonnées qui décrivent la structure du système de fichier.

Le premier enregistrement de la MFT contient les attributs décrivant la table elle-même. Le deuxième enregistrement de la MFT est un pointeur sur une copie de la MFT en mémoire afin de prévenir la corruption de données.

La taille de la MFT peut augmenter. Par exemple, lors de l’ajout d’un fichier sur le disque, au moins un d’enregistrement de plus est requis. Pour que la MFT soit rapide d’accès, il faut que ses enregistrements soient le plus contigus possible dans la mémoire. Aussi, de l’espace est réservée à l’initialisation de la MFT pour son agrandissement .

MFT et "File Record"

  La MFT regroupe un ensemble de fichiers

(les metadata files mais aussi les fichiers utilisateurs, répertoires…). On appelle File Record

Ce File Record est vu comme un enregistrement dans la table MFT.

Un File Record contient un certain nombre d'information (dates, taille, nom, droits, données…). Ces informations appelées attributs existent sous deux formes principales: les Attributs résidents et les non-résidents.

Attribut $Data d'un File Record: Voilà comment sont stockées les

données: à l'intérieur de l'attribut Data du FileRecord.

Il s'agit ici de références VCN et LCN (définies précédemment).

I. Système de gestion de fichiers

Un système de gestion de fichiers (SGF) est une façon de stocker les informations et de les organiser dans des fichiers sur ce que l'on appelle des mémoires secondaires (disque dur, CDROM, clé USB, SSD, disquette, etc.). La gestion des fichiers permet de traiter, de conserver des données ainsi que de les partager entre plusieurs programmes informatiques.

Le SGF Assure la correspondance entre l'organisation logique et l'organisation physique des fichiers

L’organisation logique est la représentation des informations pour l'utilisateur sous un format normalisé (c'est-à-dire des répertoires racine et des sous-répertoires).

L’organisation physique est l’implantation physique des fichiers sur les mémoires secondaires , c’est la méthode d’allocation du support de masse.

4-La Sécurité et le contrôle des fichiers le SGF permet le partage des fichiers par différents programmes d’applications tout en assurant la sécurité et la confidentialité des données. Aussi le SGF se doit aussi de garantir la conservation des fichiers en cas de panne.

-Un cluster (ou unité d’allocation » ou bloc) est la plus petite unité de disque que le système d’exploitation est capable de gérer.

-Un fichier occupe un nombre entier de cluster.

Le concept de fichier :

un fichier est une collection d'informations numériques réunies sous un même nom, enregistrée sur un support de stockage tel qu'un disque dur, un CD-ROM, ou une bande magnétique, et manipulées comme une unité.

Le nom du fichier sert à décrire le contenu. Ce nom comporte souvent un suffixe. Chaque fichier comporte un certain nombre de métadonnées (des informations) concernant la longueur du fichier, son auteur, les personnes autorisées à le manipuler, ainsi que la date de la dernière modification.

L'essence du fichier est les informations qu'il contient. Le format de fichier est la convention selon laquelle les informations ainsi que les métadonnées sont numérisées et emballées dans le fichier. Le format du fichier est propriétaire lorsque la convention n'est connue que de son auteur et n'a jamais été publiée. Selon la nature et le format du contenu, les fichiers peuvent être qualifiés d'exécutables, de compressés, de textes, de documents, d'images, d'audio ou de vidéos. Avant l'arrivée des ordinateurs, les fichiers sont des piles de fiches réunies dans des classeurs. L'utilisation des ordinateurs et du stockage magnétique a facilité et accéléré la manipulation de grands fichiers tels que ceux utilisés dans le commerce et l'administration publique. La manipulation des fichiers est un des services classiques offerts par les systèmes d'exploitation.

Structure disque :

Ici, la plus petite unité d’allocation disque se nomme Cluster. Un Cluster est formé de 4 secteurs. En voici une illustration : « schéma »

Un petit fichier, aussi petit soit- il, occupe tout un cluster. Un fichier peut occuper plusieurs clusters, mais le dernier cluster ne sera pas rempli.

=> il y a un gaspillage de l’espace disque.

secteurs & clusters d'un disque dur.

Résumé : - Le formatage de bas niveau a pour but

de préparer la surface du disque à accueillir des données. Il ne dépend donc pas du système d'exploitation et permet grâce à des tests effectués par le constructeur de marquer les secteurs défectueux.

Formatage logique : Le formatage logique d’un disque

permet de créer un système de gestion de fichiers sur le disque, qui va permettre à un système d'exploitation (DOS, Windows, UNIX, ...) d'utiliser l'espace disque pour stocker et utiliser des fichiers.

Pour s’adresser au disque, NTFS utilise deux terminologies :

LCN (Logical Cluster Numbers) : représente le numéro de cluster depuis le début du volume (c’est à dire de la partition NTFS en question) jusqu’à la fin.

VCN (Virtual Cluster Numbers) : Offset fichier en cluster (taille fichier de 0 à m).

structure

NTFS - structure Dans une partition NTFS on distingue 4(+1 ?) zones : 1. le $Boot, position fixe 2. une zone "réservée" : buffer MFT, pour maintenir le fichier $MFT non fragmenté 3. les espaces fichiers et répertoires : pour les

données hors MFT 4. le fichier $MFTMirr (début MFT) 5. la copie du secteur 0 (selon sourceforge)

sauvegardée à la fin de la partition (non décrit comme fichier)

la zone fichiers utilisateur et système contient les données de fichiers

volumineux à différence des petits fichiers

contenus dans la MFT !

NTFS - MFT

structure des entrées MFT L’entrée de la MFT pour un fichier contient un ensemble d’attributs : - les métadonnées du fichier (sous forme

d’attributs) - les données : attribut $DATA (petits fichiers ) - la localisation sur le disque (LCN’s : attribut

$DATA non résident - grands fichiers ) et les répertoires ? En NTFS ils renseignent

l’entrée MFT des fichiers

NTFS - MFT - une entrée MFT a une longueur variable (nombre d’attributs, taille de chaque attribut, . . .) - inspirée des bases de données relatonnelles - longueur variable -> un entête précise la taille - entrées de taille variable et enregistrements

de taille fixe entête de l’enregistrement attr1 attr2 attr3 attr4

espace inutilisé enregistrement de la MFT

un attribut peut être résident ou non : description entièrement contenue dans

l’enregistrement MFT ou non

Sécurité NTFS

Règles d'évaluation des droits effectifs : 1- Les autorisations NTFS peuvent être

cumulées : celles de l'utilisateur + celles des groupes

2- Les autorisations de fichiers sont prioritaires sur les autorisations de dossiers

3- Les autorisations "Refusées" sont prioritaires sur les autorisations accordées

4- Héritage : par défaut les autorisations d'un dossier sont héritées pour les fichiers et sous-dossiers.

Copies et déplacement : 1- Copie ou déplacement vers une autre

partition NTFS : héritage des autorisations du nouvel emplacement

2- déplacement dans la même partition NTFS : conservation des droits du fichier ou dossier déplacé

3- Copie ou déplacement vers une partition non NTFS : suppression des autorisations NTFS

Les utilisateurs NTFS peuvent apartenir à plusieurs

groupes une ambigüité à lever : Un Utilisateur u1 est membre des groupes g1

et g2 u1 est autorisé à Lire X g1 est autorisé à Lire X g2 est interdit de lecture de X : Quel droits a finalement l’utilisateur u1 sur X ?

NTFS - fichier Secure

fichier des descripteurs de sécuritéles ACL sont stockées dans le fichier système

$Secure contient tous les descripteurs de sécurité

connus par le système (liste de combinaisons domaine-

permissions) ce fichier ne fait que augmenter au fur et à

mesure qu’on introduit des nouvelles configurations de

droits !

pour accélérer l’accès aux descripteurs de sécurité :

deux approches : - accès direct par hashing sur base du descripteur

de sécurité (existe-t-il déjà ?) (création, modification

de droits) - accès indexé par la valeur du "Security Id" (Standard_information ) (vérification des droits lors du open)

le système devra mettre à disposition des appels système

qui permettent de modifier les descripteurs de sécurité

les autorisations de sécurité interviennent à chaque

ouverture de fichier : => un des rôles de l’appel système

open : vérifier les droits du processus appelant

Les ACLs (Access Control List) Le système NTFS enregistre un ACL pour chaque

fichier ou dossier d’un volume NTFS.L’ACL contient une liste des comptes utilisateurs et des groupes avec l’autorisation d’accès pour le fichier ou le dossier. Lorsqu’un utilisateur tente d’accéder à une ressource, l’ACL doit contenir une entrée (un ACE4) pour le compte d’utilisateur ou le groupe dans lequel l’utilisateur fait parti. L’entrée en question doit contenir le type d’accès demandé pour

autoriser la requête. S’il n’existe pas d’ACE spécifique pour l’utilisateur en question, l’accès est refusé.

comparativement unix utilise par défaut un système d’ACL

plus simple : ACL’s de taille fixe - droits pour 3

domaines : user, group,others

Les refus d’accès supplantent les autorisations d’accès.

Au final, il faut retenir les 3 règles suivantes :

· Les permissions NTFS sont cumulatives · Les permissions sur les fichiers sont

prioritaires sur les permissions sur les dossiers

· Un refus d’accès est prioritaire sur une autorisation d’accès

Copier et Déplacer des dossiers/fichiers

Lorsque l’on copie ou déplace des fichiers ou des dossiers, les permissions en place sur ces données peuvent changer.

Copie de données

Copie de données Lorsque l’on copie des données entre des

dossiers ou des volumes : · Windows considère qu’il s’agit de

nouveaux fichiers, les droits reprennent donc ceux

du répertoire de destination. · Vous devez avoir des droits d’écriture dans

le dossier destination · Vous devenez le « Creator Owner »

Déplacement de données

Lorsque l’on déplace des données au sein du même volume NTFS :

· Les données conservent les droits originaux

· Vous devez avoir le droit en écriture dans le dossier destination · Vous devez avoir les droits de modification sur les données sources. · Vous devenez le « Creator Owner »

fiabilité

deux aspects : - journal des transactions - rémappage de clusters défectueux

remappage de clusters - à l’écriture, un nouveau cluster est

attribué au fichier (pas de perte de données) - à la lecture d’un cluster défectueux une

erreur est retournée, les données sont perdues les clusters défectueux sont chaînés

dans BadClus