Rappels Et-Exo Systeme de Fichiers Linux

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 24

MASTER 2 INSTITUT SAINT JEAN , 2021/2021

SERVICES RESEAUX ET TELEPHONIE SUR IP


RAPPEL SUR LE SYSTEME DE FICHIERS LINUX

I. Objectif du chapitre :
A l’issu de ce chapitre sur les rappels, l’étudiant sera capable de comprendre et
de manipuler les notions suivantes : Organisation des fichiers, arborescence de
répertoires, partitionnement de disque, formatage, montage, commandes de
manipulation des répertoires, commandes de manipulation des fichiers, droits
d’accès.

II. Plan du chapitre :


1. Définitions
2. Gestion des partitions
3. Utilisation du système de fichiers
4. Droits d’accès

[10]
1. DEFINITIONS
Un système d’exploitation est un ensemble de programmes qui assurent la
gestion de l’ordinateur et de ses périphériques.
 Qu’est-ce qu’un fichier ?
Pour le système d'exploitation, un fichier est une suite d'octets. Par contre,
les utilisateurs peuvent donner des significations différentes au contenu d'un
fichier (suites d'octets, suite d'enregistrements, arbre, etc.). Chaque fichier est
identifié par un nom auquel on associe un emplacement sur le disque (une
référence) et possède un ensemble de propriétés : ses attributs.
 Qu’est-ce qu’un système de fichier ?
Un système de fichier est une organisation physique des données sur un
support de sauvegarde (disque dur, clé USB, DVD,…).
 Qu’est-ce qu’une arborescence ?
Une arborescence est une organisation logique des fichiers sur un ou
plusieurs systèmes de fichiers.
Il s’agit d’une structure de données hiérarchique de type arbre.

Sous-
Racine Répertoire Fichiers
Répertoire

httpd.conf
apache
etc
samba
/

home user1 exo1.c

Figure 3 : Exemple d’arborescence


 Quelle est l’arborescence typique du système Linux ?

[11]
/

etc bin boot home root usr var dev proc

 etc : répertoire contenant les fichiers de configuration ;


 bin : répertoire contenant les principales commandes
disponibles pour les utilisateurs ;
 boot : répertoire contenant les fichiers de démarrage du
système contenant le noyau ;
 home : répertoire contenant les répertoires personnels des
utilisateurs ;
 root : répertoire personnel du super-utilisateur ;
 usr : répertoire contenant les logiciels et les librairies
supplémentaires ;
 var : répertoire contenant les journaux systèmes ;
 dev : point d’entrée vers les périphériques ;
 proc : pseudo-système contenant des informations sur les
processus en exécution.
 Les symboles associés à l’arborescence :
Sous le système Linux, plusieurs symboles sont utilisés pour désigner les
répertoires. On cite pour cela :
 Le « . » : pour désigner le répertoire courant ;
 Le « .. » : pour désigner le répertoire parent ;
 Le « ~ » : pour désigner le répertoire personnel de l’utilisateur ;
Il faut aussi citer à ce stade quelques commandes de base utiles pour la
manipulation de l’arborescence, à savoir :
 La commande « cd » permet de changer de répertoire ;
[12]
 La commande « ls » permet de lister le contenu d’un
répertoire ;
 La commande « pwd » permet de connaître le répertoire
courant ;
 Exemples :
user1@serv-linux:~ $ cd /etc/apache2
user1@serv-linux:/etc/apache2 $ cd ..
user1@serv-linux:/etc $ ls .
user1@serv-linux:/etc $ cd ~
user1@serv-linux:~ $ pwd
/home/user1

2. GESTION DES PARTITIONS


a. Rappels sur les disques durs :

 Un disque dur est constitué de 1 ou plusieurs plateaux superposés.


 Chaque plateau est divisé en pistes (tracks).
 Chaque piste est divisée en secteurs (sectors).

[13]
 Le cylindre est formé par les pistes de même rayon sur chaque
plateau.
 La capacité d’un disque dépend de la taille des secteurs et du nombre
de cylindres et donc du nombre de plateaux.
 Le formatage d’un disque est effectué à 2 niveaux :
 En usine : le formatage bas niveau des pistes et des secteurs ;
 Par l’utilisateur : le formatage haut niveau pour créer le
système de fichiers (notamment lors de l’installation du
système d’exploitation).
b. Organisation d’un disque dur :
Typiquement, un disque dur est organisé de la façon suivante :

MBR Partition Système Partition données

Le Master Boot Record (MBR) est situé dans les premiers secteurs du disque.
Il est constitué de 2 parties :
 La table de partition ;
 Le programme d’amorçage qui charge le noyau du système
d’exploitation.
Dans un disque dur, plusieurs types de partitions peuvent coexister. On peut
mentionner les partitions principales, étendues et logiques.
 Les partitions principales :
o Sont au maximum de 4

Pourquoi ?

Partitionnement Intel (MBR) : c'est le mode de partitionnement


historique des ordinateurs de type IBM PC-compatible et, en
2013, celui qui est le plus répandu. Dans ce modèle, une zone
de 512 octets appelée le Master Boot Record (MBR) est
réservée en début de disque pour contenir l'information relative [14]
à un maximum de 4 partitions.
o Accepte tout type de système de fichiers.
 Les partitions étendues :
o Sont destinées à contenir des partitions logiques et non au
système de fichiers,
o Nécessitent au moins une partition principale.
 Les partitions logiques :
o Sont contenues dans une partition étendue,
o Accepte tout type de systèmes de fichiers.
 Exemple permettant d’installer plusieurs systèmes d’exploitation :

Partition étendue
MBR Partition principale Partition principale
Logique Logique Logique

c. Désignation des partitions sous Linux :


Le pointeur spécial /dev permet l’accès aux disques. Pour dénommer les
disques, un format est adopté : /dev/XXYZ où
XX désigne le type de bus : hd pour les périphériques de type IDE
sd pour les périphériques de type SATA

Y désigne la lettre de périphérique : "a" pour le maître de la


nappe IDE primaire
"b" pour l'esclave de la nappe IDE primaire

[15]
"c" pour le maître de la nappe IDE secondaire
"d" pour l'esclave de la nappe IDE secondaire
Z désigne le numéro de la partition

Exemples :
 /dev/hda1 : partition 1 sur le 1er disque IDE
 /dev/sdb2 : partition 2 sur le 2ème disque SATA

d. Les formats des systèmes de fichiers :


Les données sont normalement présentées à l'utilisateur et aux programmes
selon une organisation structurée, sous la forme de répertoires et de fichiers. Pour
pouvoir stocker ces données structurées sur un périphérique, il faut utiliser un
format qui les représente sous la forme d'une succession de blocs de données :
c'est ce qu'on appelle un système de fichiers.
Sous Windows, les systèmes de fichiers disponibles sont : FAT, FAT32 et
NTFS.
Sous Linux, il y plusieurs systèmes de fichiers. Le tableau suivant résume les
types des systèmes de fichiers et leurs caractéristiques.1

Nom de Gestion
Journalisée
système de des droits Notes
ou non ?
fichiers d'accès?

Extended File System est le système de


ext2fs fichiers natif de Linux. En ses versions 1
(Extended Non Oui et 2, on peut le considérer comme
File System) désuet, car il ne dispose pas de la
journalisation. Ext2 peut tout de même

1
Source : http://doc.ubuntu-fr.org/systeme_de_fichiers
[16]
Nom de Gestion
Journalisée
système de des droits Notes
ou non ?
fichiers d'accès?

s'avérer utile sur des disquettes 3½ et


sur les autres périphériques dont
l'espace de stockage est restreint, car
aucun espace ne doit être réservé à un
journal.

ext3 est essentiellement ext2 avec la


gestion de la journalisation. Il est
possible depasser une partition
ext3fs Oui Oui
formatée en ext2 vers le système de
fichiers ext3 (et vice versa) sans
formatage.

ext4 est le successeur du système de


fichiers ext3. Il est cependant considéré
par ses propres concepteurs comme
ext4fs Oui Oui
une solution intermédiaire en
attendant le vrai système de nouvelle
génération que sera Btrfs

Développé par Hans Reiser et la société


Namesys, ReiserFS est reconnu
particulièrement pour bien gérer les
fichiers de moins de 4 ko. Un avantage
du ReiserFS, par rapport à ext3, est
ReiserFS Oui Oui qu'il ne nécessite pas une
hiérarchisation aussi poussée: il s'avère
intéressant pour le stockage de
plusieurs fichiers temporaires
provenant d'Internet. Par contre,
ReiserFS n'est pas recommandé pour

[17]
Nom de Gestion
Journalisée
système de des droits Notes
ou non ?
fichiers d'accès?

les ordinateurs portables, car le disque


dur tourne en permanence, ce qui
consomme beaucoup d'énergie.

Développé par Microsoft, ce système


de fichiers se rencontre moins
fréquemment aujourd'hui. Il reste
néanmoins utilisé sur les disquettes 3½
formatées sous Windows et devrait
FAT
être utilisé sous Linux si une disquette
(File
Non Non* doit aussi être lue sous Windows. Il est
Allocation
aussi utilisé par plusieurs constructeurs
Table)
comme système de fichiers pour cartes
mémoires (memory sticks), car, bien
documenté, ce système de fichiers
reste le plus universellement utilisé et
accessible.

Ce système de fichiers, aussi créé par


Microsoft, est une évolution de son
prédécesseur. Depuis ses versions 2000
SP4 et XP, Windows ne peut pas
formater (ou bloque volontairement le
formatage) une partition en FAT32
FAT32 Non Non* d'une taille supérieure à 32 Go. Cette
limitation ne s'applique pas sous Linux,
de même qu'avec des versions
antérieures de Windows. Une partition
FAT32 d'une taille supérieure à 32 Go
déjà formatée pourra être lue par
Windows, peu importe sa version.

[18]
Nom de Gestion
Journalisée
système de des droits Notes
ou non ?
fichiers d'accès?

Ce système de fichiers a aussi été


développé par Microsoft, et il reste très
peu documenté. L'écriture depuis Linux
NTFS
sur ce système de fichiers est stable à
(New
Oui Oui* l'aide du pilote ntfs-3g. Ce pilote est
Technology
inclus de base dans Ubuntu 7.10, et
File System)
disponible en paquets dans
les dépôts pour les versions
antérieures.

e. L’espace d’échange « swap »


L'espace d'échange, plus généralement appelée par son terme anglais swap
space ou simplement swap, est une zone d'un disque dur faisant partie de
la mémoire virtuelle de l’ordinateur. Il est utilisé pour décharger la mémoire vive
physique (RAM) de l’ordinateur lorsque celle-ci arrive à saturation. L'espace
d'échange, dans Ubuntu, se trouve généralement sous une forme de partition de
disque dur – on parle alors de partition d'échange. Il peut aussi se présenter sous
forme de fichier – on parle alors de fichier d'échange.
Par défaut, Linux calcule et s'attribue automatiquement un espace
d'échange suffisant ou recommandé lors de son installation. Il n'est pas nécessaire
d'effectuer des tâches supplémentaires pour assigner un espace d'échange
minimum à Linux.
Comment calculer l’espace d’échange ?
 Si l’ordinateur dispose de 1 GO de RAM ou plus : On Alloue un espace
d'échange de 1× à 1,5× la taille de la RAM ;

[19]
 Votre ordinateur dispose de moins de 1 GO de RAM : On Alloue un espace
d'échange de 1,5× à 2× la taille de votre RAM.
f. Points de montage :
Un nouveau périphérique de stockage, lorsqu'il est détecté, est la plupart du
temps monté automatiquement. Mais il peut être intéressant de monter
manuellement, ou de spécifier des options de montage ou de modifier celles des
partitions système.
Un point de montage est une association entre une partition physique et
l’arborescence du système.
Pour monter un périphérique, il faut connaître son nom, qui sera de la forme
/dev/sda1, par exemple.
La commande mount permet de manipuler tous les montages de systèmes
de fichier de manière très précise. Par exemple, pour monter l'unité de stockage
"/dev/sdc3" dans le dossier "/media/stock" :
#mount /dev/sdc3 /media/stock
Le système de fichier utilisé est détecté automatiquement.
Le point de montage doit être un dossier, quelconque
mais existant et vide au moment du montage.
Ubuntu monte automatiquement au démarrage du système tous les
périphériques à partir du fichier /etc/fstab.
Pour supprimer un point de montage, on utilise la commande umount.
#umount /dev/sdc3

g. Mise en place d’un nouveau disque


Pour mettre en place une nouvelle partition dans le système, 3 étapes sont
nécessaires :
 Création de la partition : on utilise alors la commande fdisk.
[20]
 Initialisation du système de fichiers : on utilise pour cela la commande
mkfs.
 Création d’un point de montage : on se sert de la commande mount.

3. UTILISATION DU SYSTEME DE FICHIERS :

Sous linux, tout est fichier, organisé suivant une unique arborescence (dont
la racine est nommée / et dont l'administrateur est root)
a. LES DIFFERENTES CATEGORIES DE FICHIERS
 fichiers normaux (-) : fichiers normaux : texte : courrier, sources
des programmes, scripts, configuration ; exécutables : programmes en
code binaire. La commande suivante donne :
$ ls – l
-rwxrw-r-- soufiene ens 20 2014-10-15 14 :52 toto
 fichiers répertoires (d) : ce sont des fichiers conteneurs qui
contiennent des références à d'autres fichiers. Ils permettent
d'organiser les fichiers par catégories.
La commande suivante donne :
$ ls – l
drwxr-r-- soufiene ens 100 2014-10-15 14 :43
mon_dossier
 fichiers spéciaux : situés dans /dev, ce sont les points d'accès préparés
par le système aux périphériques. Le montage va réaliser une
correspondance de ces fichiers spéciaux vers leur répertoire "point de
montage". Par exemple, le fichier /dev/hda permet l'accès et le
chargement du 1er disque IDE.
[21]
 fichiers liens symboliques (l) : ce sont des fichiers qui ne contiennent
qu'une référence (un pointeur) à un autre fichier. Cela permet
d'utiliser un même fichier sous plusieurs noms sans avoir à le
dupliquer sur le disque.
$ ls – l
lrwxrw-r-- soufiene ens 20 2014-10-15 14 :52 lientoto
-> toto

b. COMMENT SE REPERER DANS LE SYSTEME DE FICHIERS :


La ligne de commande suivante donne des informations sur l’utilisateur en
cours, le nom de la machine, le répertoire courant et le type d’utilisateur (super
utilisateur ou utilisateur) :

Utilisateur courant Répertoire courant

Nom de la machine # : Super utilisateur


$ : Utilisateur normal
La commande pwd permet de savoir quel est le répertoire courant.

c. CONNAITRE LE CONTENU D’UN REPERTOIRE :


La commande ls permet de lister les fichiers contenus dans un répertoire.

[22]
L’option - l permet d’afficher la liste des fichiers avec détails :

L’option - a permet d’afficher la liste des tous fichiers y compris les fichiers
cachés :

L’option - i permet d’afficher la liste des fichiers avec leurs numéros d’index (i-
node) :

d. SE DEPLACER DANS LE SYSTEME DE FICHIERS :

La commande cd permet de changer de répertoire.

[23]
Les symboles suivants ont une signification particulière :
 « . » : le point désigne le répertoire courant. Exemple :

 « .. » : les deux points désignent le répertoire parent. Exemple :

 « ~ » : le tilde désigne le répertoire home de l’utilisateur courant.


Exemple :

Il existe deux méthodes pour spécifier un chemin dans le système de


fichiers :
 Chemin relatif : dépend du répertoire courant.
 Chemin absolu : débute à la racine du système (commence toujours par
« / » ).
e. GERER LES REPERTOIRES :
 mkdir: permet de créer un ou plusieurs répertoires, dont les noms sont
précisés en arguments. Elle renvoie un message d'erreur dans les cas où
la création est impossible.

 rmdir : permet d'effacer un ou plusieurs répertoires passés en


arguments. Ces répertoires doivent être vides.

Maintenant, on va créer de nouveau le répertoire rep1 ainsi qu’un sous


répertoire. On va ensuite essayer de supprimer le répertoire rep1 :

[24]
 rm – r : permet d’effacer un répertoire non vide.

f. GERER LES FICHIERS :

 cat : permet d’afficher, de créer, de copier et de concaténer des fichiers.

 more : permet d’afficher à l’écran un fichier page par page. (déjà utilisé
par la cmde man).

 rm : supprime un ou plusieurs fichiers d’un répertoire.

 cp : permet de copier un ou plusieurs fichiers, en changeant


éventuellement leurs noms. La syntaxe est la suivante :

 mv : permet de renommer un fichiers ou un répertoire, ou de déplacer


un ou plusieurs fichiers dans l'arborescence, en changeant
[25]
éventuellement leurs noms. Cette commande est équivalente à une
copie puis une suppression.

 ln : permet de désigner un fichier par plusieurs noms différents.


En effet, un lien est un type spécial de fichier qui fait référence à un autre
fichier. Le lien permet de créer des raccourcis vers des fichiers existants. Il
permet aussi d’éviter de stocker plusieurs fois le même fichier dans des
répertoires différents.
On distingue deux types de liens :
 Le lien symbolique qui est une référence vers un fichier cible.
Lorsque le fichier cible est effacé, le lien est rompu ; et au contraire,
lorsque le lien est effacé, le fichier cible n’est pas effacé.
La commande ln avec l’option –s est utilisée pour créer un lien
symbolique.
 Le lien physique est associé à un emplacement sur le support de
stockage.
 La commande ln sans option permet de créer un lien
physique.

[26]
 touch : permet de créer un fichier vide.

4. DROITS D'ACCES DES FICHIERS


Parmi les informations contenues dans l’inode de tout élément de
l’arborescence, on trouve les droits d’accès. La protection d’un élément
repose sur trois droits d’accès qui contrôlent les trois opérations de lecture
(droit r pour read), d’écriture (droit w pour write) et d’exécution (droit x
pour execute). Ces trois droits (rwx) sont appliqués à trois catégories
d’utilisateurs qui sont le propriétaire (user : u) de l’élément, son groupe
(group : g) et les autres utilisateurs (others : o).
La notion de groupe correspond simplement à un ensemble
d’utilisateurs auxquels on peut attribuer les mêmes droits d’accès aux
fichiers. Ainsi, chaque utilisateur appartient à un groupe et son identité qui
sert pour les contrôles d’accès est définie par un numéro d’utilisateur (UID :
User IDentification) et un numéro de groupe (GID : Group IDentification).

[27]
Tout système a besoin de comptes spécialisés, avec des droits
importants, pour des tâches d’administration. Sous UNIX, il existe un
compte root dit compte de super-utilisateur, caractérisé par son numéro
d’utilisateur (l’UID zéro) qui lui confère les pleins pouvoirs.

La signification des droits diffère selon le type de l’élément :


répertoire ou fichier

Code Répertoires Fichiers


r : lecture Explorer Voir le contenu
w : écriture Ajouter ou supprimer des fichiers Modifier le contenu
x : exécution Autorise l'accès au répertoire Exécuter

a. VISUALISATION DES DROITS D'ACCES


Pour visualiser les droits d'accès, on utilise la commande ls -l. Le 1er
caractère spécifie le type du fichier. Les 9 caractères suivants identifient les
droits d'accès (présence du droit si lettre r, w ou x ; absence de droit si
caractère -) et sont structurés de la façon suivante :

[28]
Type droits Nb Liens groupe taille date dernier accès Nom du
fichier

propriétaire

[29]
b. MODIFICATION DES DROITS D'ACCES
Seul, le propriétaire d'un fichier ou le super utilisateur (root) peut
modifier les droits d'accès d'un fichier. Pour cela, il utilise la
commande chmod avec une description octale ou symbolique.
Pour la description symbolique chmod a la syntaxe suivante :
chmod [who]op[permission] nom_fichier

Où :

 who est une combinaison de lettre u (user), g(group), o(others) ou a


(all) pour ugo. Si aucune classe n'est spécifiée. toutes les classes sont
concernées.
 op est l’un des symboles (+ ajouter un droit d’accès, - supprimer un
droit d’accès et = pour affecter un droit absolu : tous les autres bits
sont remis à zero).
 Permission est une combinaison des lettres r, w, x.

Pour la description octale, une lettre est équivalente à 1 et un tiret


est équivalent à 0 en binaire. Chacun des trois bits sont codés à part.
Par exemple, Le fichier titi est maintenant possède les droits rwx
rwx r-- ce qui est équivalent à 111 111 100 = 644.

c. INITIALISATION DES DROITS D'ACCES

[30]
La protection d’un fichier ainsi que les noms de son propriétaire et
de son groupe sont établis à sa création et ne peuvent être modifiés que
par son propriétaire ou par le super utilisateur (root).
La commande umask permet de définir un masque de protection
des fichiers lors de leur création. Cette commande se trouve dans le
fichier .bashrc et elle peut être exécutée à tout moment. Le masque
défini doit être codé en base 8.

[31]
TD N° 1 : Gestion de fichiers sous Linux

Exercice 1 :

Soit l’arborescence suivante :

1. Créer l’arborescence ci-dessus.


2. Ecrire une ligne de commandes permettant d’afficher le contenu du
répertoire personnel /home/etudiant avec des détails sur les fichiers.
3. Ecrire une ligne de commandes permettant d’afficher le chemin absolu
du répertoire courant.
4. Ecrire une ligne de commandes permettant de passer du répertoire
personnel au répertoire images.
5. Vous êtes dans le répertoire images, écrire une ligne de commandes
permettant d’afficher les fichiers qui commencent par le mot perso.
6. Ecrire une ligne de commandes permettant d’afficher les images de type
gif.
7. Ecrire une ligne de commandes permettant copier le fichier cv.txt dans le
répertoire documents.
8. Ecrire une ligne de commandes permettant de supprimer le répertoire
documents avec son contenu.
[32]
9. Ecrire une ligne de commandes permettant de créer un lien symbolique
nommé lien_images vers le dossier images.

Exercice 2 :

1. Créer un dossier nommé droits et un document monDoc.txt à l’intérieur


de ce dossier.
2. Quels sont les droits d’accès sur le fichier que vous venez de créer pour
l’utilisateur ? le groupe ? les autres ?
3. Convertir en octal les droits d’accès suivants :
4. Modifier les droits sur monDoc.txt tel qu’il soit accessible en lecture pour
tout le monde (les accès et écriture et exécution sont laissés par défaut).
5. Modifier les droits sur le document tel qu’il ait les suivant : r w x r – x r –

6. Supprimer les droits de lecture au groupe et aux autres utilisateurs.
7. Ajouter les droits d’exécutions aux autres utilisateurs.
8. Ecrire avec plusieurs façons, l’accès total du document par tous les
utilisateurs.

[33]

Vous aimerez peut-être aussi