D epartement Informatique et Math ematiques appliqu ees...

30
Principes de conception Protection des fichiers Gestion de l’espace physique Syst` emes d’exploitation Les fichiers (suite) erard Padiou epartement Informatique et Math´ ematiques appliqu´ ees ENSEEIHT 7 octobre 2010 erard Padiou Syst` emes d’exploitation 1 / 30

Transcript of D epartement Informatique et Math ematiques appliqu ees...

Page 1: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systemes d’exploitationLes fichiers (suite)

Gerard Padiou

Departement Informatique et Mathematiques appliqueesENSEEIHT

7 octobre 2010

Gerard Padiou Systemes d’exploitation 1 / 30

Page 2: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

plan

1 Principes de conceptionLe modele de base en couches

2 Protection des fichiersPrincipes generauxExemple Unix

3 Gestion de l’espace physiqueSysteme de fichiers et volumesCartes du contenu et des blocs libres

Gerard Padiou Systemes d’exploitation 2 / 30

Page 3: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physiqueLe modele de base en couches

Plan

1 Principes de conceptionLe modele de base en couches

2 Protection des fichiersPrincipes generauxExemple Unix

3 Gestion de l’espace physiqueSysteme de fichiers et volumesCartes du contenu et des blocs libres

Gerard Padiou Systemes d’exploitation 3 / 30

Page 4: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physiqueLe modele de base en couches

Principes de conceptionStuart E. Madnick dans Design Strategies for File Systems, TR-78, MIT, 1970

Abstraction Niveau Fonction

Repertoires 6 Designation (chemins via les repertoires)5 Localisation des descripteurs

Fichiers 4 Controle d’acces (listes ou capacites)3 Acces au contenu (lire, ecrire)

Blocs 2 Allocation et caches1 Gestion des echanges

Gerard Padiou Systemes d’exploitation 4 / 30

Page 5: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physiqueLe modele de base en couches

Principes de conceptionAbstraction Repertoire

Role

Designation des fichiers dans une structure d’arbre ;

Resolution des chemins d’acces relatifs ou absolus ;

Passage d’un chemin d’acces a un nom interne (i-node) ;

Suite de couples (nom symbolique, nom interne) ;

Representation : type de fichier.

Gerard Padiou Systemes d’exploitation 5 / 30

Page 6: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physiqueLe modele de base en couches

Principes de conceptionAbstraction Fichier

Roles

Controle d’acces lors de la connexion (open) ;

Table de descripteurs de fichiers ;

Acces aux informations du descripteur (i-node) ;

Mise en œuvre d’une methode d’acces ;

Acces au contenu (read/write) ;

Representation : carte d’implantation.

Gerard Padiou Systemes d’exploitation 6 / 30

Page 7: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physiqueLe modele de base en couches

Principes de conceptionAbstraction Blocs (Clusters)

Roles

Bloc = n secteurs consecutifs (logiquement) : n = 2, 4, 8 ;

Allocation dynamique a la demande ;

Possibilite d’optimisation des echanges via des caches ;

Probleme : gestion de la coherence entre copie en cache etcopie sur disque ;

Plusieurs strategies de representation des cartes.

Gerard Padiou Systemes d’exploitation 7 / 30

Page 8: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physiqueLe modele de base en couches

Principes de conceptionLes types de fichiers

Typage par leur contenu

les fichiers ordinaires ;

les fichiers repertoires ;

les fichiers speciaux : permettent de designer et utiliser lesressources physiques comme des fichiers.

Typage par leur visibilite

les fichiers « caches » : n’apparaissent dans les fenetres oucommandes ls ou dir ;

Gerard Padiou Systemes d’exploitation 8 / 30

Page 9: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

Plan

1 Principes de conceptionLe modele de base en couches

2 Protection des fichiersPrincipes generauxExemple Unix

3 Gestion de l’espace physiqueSysteme de fichiers et volumesCartes du contenu et des blocs libres

Gerard Padiou Systemes d’exploitation 9 / 30

Page 10: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersLe controle d’acces aux fichiers

Objectif

Mecanismes permettant la mise en œuvre de politiques de securite

Qui, quoi, quand controler ?

Cote utilisateur : un processus s’executant pour un usager ;

Cote fichier : un usager proprietaire (createur) du fichier ;

Controle d’acces : l’usager pour lequel s’execute le processusappelant a-t-il le droit d’executer la primitive d’acces appelee ?

Moment du controle : phase de connexion (ouverture).

Gerard Padiou Systemes d’exploitation 10 / 30

Page 11: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersLe controle d’acces aux fichiers

Modelisation generique

Approche matricielle : Usager × Objet → Droits ;

. . . fk . . .u1

. . . ↓ui → di ,k

. . .

Usagers regroupes par classes ;

Objets de differents types ⇒ Types de droits differents.

Gerard Padiou Systemes d’exploitation 11 / 30

Page 12: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersLe controle d’acces aux fichiers

Approche par ligne

Chaque processus possede une liste des objets qu’il peutacceder ;

+ Notion de capacite

Probleme de base : controler la distribution des capacites defacon a garantir un politique de securite ?

Approche par colonne

Chaque objet possede une liste des usagers ayant un droitd’usage ;

Meme probleme de base : controler la definition de ces listesde facon a garantir un politique de securite ?

Gerard Padiou Systemes d’exploitation 12 / 30

Page 13: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersL’exemple Unix

Approche par colonne : les droits d’acces sont codes dans ledescripteur de fichier ;

Usagers repartis en 3 classes : proprietaire, membre du groupe,autre ;

Trois types d’acces : lire, ecrire, executer.

Codage des droits par 3 × 3 bits indicateurs.

Exemple

Fichier de donnees : r w - r - - r - -Fichier binaire executable : r w x r - x r - -

Gerard Padiou Systemes d’exploitation 13 / 30

Page 14: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersL’exemple Unix

Le controle d’acces lors de l’ouverture

Un processus « roule »pour un usager : (UIDp, GIDp) ;

L’ouverture demande des droits parmi : dem ∈ {r , w , x} ;

Le fichier possede :

Une identification du proprietaire : (UIDf , GIDf ) ;un codage des droits d’acces : df = rwxrwxrwx

∃ un super-utilisateur : (UIDsuper , GIDsuper )

Algorithme de controle : acces autorise ssi

soit UIDP = UIDsuper

soit UIDp = UIDf ∧ dem ⊂ df

soit UIDp 6= UIDf ∧ GIDf = GIDp ∧ dem ⊆ df

soit UIDp 6= UIDf ∧ GIDf 6= GIDp ∧ dem ⊆ df

Gerard Padiou Systemes d’exploitation 14 / 30

Page 15: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersPartage de fichiers

Développeurs

Clients

t1

tn

ti

x

Client malveillant

Fichiersde données D

Fichiersprogrammes T

f1

f2fj

fp

Gerard Padiou Systemes d’exploitation 15 / 30

Page 16: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersPartage de fichiers

Proprietes a garantir

(1) Comment proteger ces donnees contre les acces directs pardes programmes applicatifs ?

(2) Comment autoriser que des programmes applicatifs specifiquesaccedent aux donnees ?

(3) Tout usager doit pouvoir utiliser les programmes applicatifsspecifiques.

Exemple

Autoriser l’acces au groupe et autres :assure (2) et (3) mais viole (1)

Autoriser l’acces aux usagers developpeurs (a leur groupe) :assure (1) et (2) mais viole (3)

Gerard Padiou Systemes d’exploitation 16 / 30

Page 17: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

La protection des fichiersPartage des fichiers

Principe

+ Un processus change momentanement d’identite

Un processus « roule » pour un usager de base (initial) ;

Mais il peut en changer pour executer un programme ;

Il prend l’identite du proprietaire du fichier programme ;

⇒ notion d’usager effectif : (UIDeff , GIDeff ).

Mecanisme

+ 2 bits indicateurs supplementaires :

Un bit pour autoriser le changement d’usager ;

Un bit pour autoriser le changement de groupe.

Gerard Padiou Systemes d’exploitation 17 / 30

Page 18: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

Extension : les ACL’s (Access Control Lists)Bonne documentation : http ://www.freebsd.org/doc/en/books/handbook/fs-acl.html

Objectif

Mise en place de politiques de securite plus sophistiquees ;

Possibilite de distinguer des droits distincts pour une memecategorie usagers ou groupes ;

Suite d’Access Control Entries (ACE) ;

Contenu d’une ACE = entree : [uid/gid] : permissions ;

Deux commandes :

Lecture : getfacl fichier . . .Mise-a-jour : setfacl -x|-m|-s [ ACL ] fichier . . . ;

+ Politique de securite : Seul le proprietaire ou l’usager rootpeuvent modifier l’ACL d’un fichier ;

Mise en œuvre delicate : suite de longueur variable.

Gerard Padiou Systemes d’exploitation 18 / 30

Page 19: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

Extension : les ACL’s (Access Control Lists)Types d’entrees

Permissions classiques en ACL

Proprietaire : user : :rwxGroupe du proprietaire group : :rwxAutres other : :rwx

Permissions etendus en ACL

Usager nomme user : nom :rwxGroupe nomme group : nom : rwxMasque mask : :rwx

+ Role du masque : limiter les permissions accordees aux usagerset groupes nommes.

Gerard Padiou Systemes d’exploitation 19 / 30

Page 20: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

Extension : les ACL’s (Access Control Lists)Types d’entrees (suite)

Heritage d’ACL entre repertoires

default : <declaration d’ACE>

Semantique

+ Un repertoire herite de la liste default a la fois en tant queliste d’ACL effective et liste default pour lui-meme ;

+ La liste default inhibe le filtre umask.

Gerard Padiou Systemes d’exploitation 20 / 30

Page 21: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Principes generauxExemple Unix

Extension : les ACL’s (Access Control Lists)Types d’entrees (suite)

Exemple

>getfacl NOAM# file : NOAM# owner : padiou# group : inuser : :rwxgroup : :--other : :--

Gerard Padiou Systemes d’exploitation 21 / 30

Page 22: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

Plan

1 Principes de conceptionLe modele de base en couches

2 Protection des fichiersPrincipes generauxExemple Unix

3 Gestion de l’espace physiqueSysteme de fichiers et volumesCartes du contenu et des blocs libres

Gerard Padiou Systemes d’exploitation 22 / 30

Page 23: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

La representation des fichiers sur un volume

C:\

AUTOEXEC.BAT

WINDOWS

Temp win.ini

system.ini

system32

Windows : racine = volume

... ...Structure en râteau

Gerard Padiou Systemes d’exploitation 23 / 30

Page 24: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

La structure d’un systeme de fichiers sur un volume

Zone bootstrap-descripteur de volume ;

Zone des descripteurs de fichiers ;

Zone de donnees ;

Zone de replication.

Gerard Padiou Systemes d’exploitation 24 / 30

Page 25: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

Le mecanisme de montage/demontage de volume

Proprietes

Unicite de l’arbre

Transparence des volumes

Commandes

Montage :mount /dev/disk0s2 users

Demontage :umount /dev/disk0s2

/

devmach.sym

u1 u2

userslocal

/dev/disk0s1

/dev/disk0s3/dev/disk0s2

Gerard Padiou Systemes d’exploitation 25 / 30

Page 26: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

Descripteur de fichier (i-node)Exemple Unix

Compteur de reference

Longueur du fichier (en octets)

Proprietaire createur (groupe,id)

Date de creaction

Date de derniere modification

Date de derniere lecture

Type de fichier

Protection : indicateurs par exemple

Carte d’implantation

Gerard Padiou Systemes d’exploitation 26 / 30

Page 27: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

La carte d’un fichier

Les blocs sont alloues dynamiquement ;

Probleme :comment determiner la suite ordonnee de blocs alloues ?

Deux possibilites (exemples) :

une liste chaınee (Windows) ;tables imbriquees (Unix).

Gerard Padiou Systemes d’exploitation 27 / 30

Page 28: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

La carte d’un fichierVersion Windows (fat)

Carte représentée

ij

kk

j

i

jk

012

i

jk

Gerard Padiou Systemes d’exploitation 28 / 30

Page 29: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

La carte d’un fichierVersion Unix

Carte à 13 entrées

i

jk

012

i

9101112

une indirection

bloc de pointeurs

p

p

...

deux indirections

bloc de pointeurs de pointeurs

q ...

3 indirections( bloc de pointeurs de pointeurs de pointeurs )

bloc de pointeurs

r ...

r

q

jk

Gerard Padiou Systemes d’exploitation 29 / 30

Page 30: D epartement Informatique et Math ematiques appliqu ees …padiou.perso.enseeiht.fr/1AI/fichiers/beamfich2.pdf · 2010. 11. 16. · 7 octobre 2010 G erard Padiou Syst emes d’exploitation

Principes de conceptionProtection des fichiers

Gestion de l’espace physique

Systeme de fichiers et volumesCartes du contenu et des blocs libres

La gestion des blocs libresVersion Unix

Carte des blocs libres

i

jk

012

i

p

jk

Fond

p

Fenêtre"sommet"

visible

Blocs libresutilisés comme

blocs de pointeurs

Bloc i

Bloc p

Gerard Padiou Systemes d’exploitation 30 / 30