Système de Fichiers Sous Linux

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

Système d’exploitation - Linux Le système de fichiers

Med HARRANE Page 1


Système d’exploitation - Linux Le système de fichiers

 Qu’est-ce qu’un système de fichier ?


 Organisation physique des données sur un support
• Sur un disque dur, une clé USB, un DVD, …
 Qu’est-ce qu’une arborescence ?
 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

Racine de Fichier
samba
l’arborescence etc
apache2 httpd.conf
/
Mohamed
home
durant

Répertoire
Sous-Répertoire

Med HARRANE Page 2


Système d’exploitation - Linux Le système de fichiers

 Voici l’arborescence typique d’un système Linux :

etc Fichiers de configuration


bin Commandes principales disponibles pour tous
Racine du boot Fichiers de démarrage du système contenant le noyau
système
dev Point d’entrée vers les périphériques
/ home Répertoires personnels des utilisateurs
root Répertoire personnel du super-utilisateur
usr Logiciels et librairies supplémentaires
var Journaux systèmes (log)
proc Système de fichiers virtuel (VFS) contenant des infos
sur les processus en cours d’exécution

Med HARRANE Page 3


Système d’exploitation - Linux Le système de fichiers

 Différents symboles sont utilisés pour désigner des


répertoires
 Le « . » : Répertoire courant
 Le « .. » : Répertoire parent
 Le « ~ » : Répertoire personnel de l’utilisateur courant
 La commande « cd » permet de changer de répertoire
 La commande « ls » permet de lister un répertoire
 La commande « pwd » permet de connaître le rép. courant
 Exemples :
Je suis dans mon rep. perso Je vais dans /etc/apache2
root@PC-Med:~# cd /etc/apache2
root@PC-Med:/etc/apache2 # cd .. Je vais dans le rép parent (/etc)
root@PC-Med:/etc # ls .
root@PC-Med:/etc # cd ~ Je liste le rép. courant (/etc)
root@PC-Med:/etc # pwd
/home/Mohamed Je retourne dans mon rép perso
Où suis-je ?

Med HARRANE Page 4


Système d’exploitation - Linux Le système de fichiers

 Il est constitué d’un ou de plusieurs plateaux


 Chaque plateau est divisé en pistes (tracks)
 Chaque piste est divisée en secteurs (sectors)
 Le cylindre est formé par les pistes de même rayon sur chaque plateau.

Med HARRANE Page 5


Système d’exploitation - Linux Le système de fichiers

Med HARRANE Page 6


Système d’exploitation - Linux Le système de fichiers

 Le formatage est effectué à 2 niveaux


 En usine : le formatage bas niveau des pistes et secteurs
 Par l’utilisateur : Effacement ou réécriture des données
• Lors de l’installation du système d’exploitation par exemple
 La capacité d’un disque dépend
 De la taille des secteurs
 Du nombre de cylindres et donc du nombre de plateaux

Med HARRANE Page 7


Système d’exploitation - Linux Le système de fichiers

Med HARRANE Page 8


Système d’exploitation - Linux Le système de fichiers

 Organisation typique du poste de travail

MBR Partition système Partition données Disque

 Le Master Boot Record est situé dans les 1er secteurs du


disque
 Il est constitué de 2 parties :
 La table des partitions
 Le programme d’amorçage qui charge le noyau du système
 Plusieurs types de partitions
 Principale
 Etendue
 Logique

Med HARRANE Page 9


Système d’exploitation - Linux Le système de fichiers

 Les partitions principales


 Au maximum de 4;
 Accepte tout type de système de fichiers.
 Les partitions étendues
 Destinées à contenir des partitions logiques et non un système de
fichiers;
 Nécessitent au moins une partition principale.
 Les partitions logiques
 Contenues dans une partition étendue;
 Accepte tout type de système de fichiers.
 Exemple permettant d’installer plusieurs systèmes
d’exploitation
Etendue
Partition Partition
MBR Logique Logique Logique
principale principale

Med HARRANE Page 10


Système d’exploitation - Linux Le système de fichiers

 Le pointeur spécial /dev permet l’accès aux disques


 Format des pointeurs sur disque :
Lettre de périphérique

 Types de bus
N° de partition
 hd : Périphériques IDE Type de bus
 sc : Périphériques SCSI
 sd : Périphériques SATA
 Exemples
 /dev/hda1 :
• Partition 1 sur le 1er disque IDE
 /dev/sdb2 :
• Partition 2 sur le 2ème disque Sata

Med HARRANE Page 11


Système d’exploitation - Linux Le système de fichiers

Med HARRANE Page 12


Système d’exploitation - Linux Le système de fichiers

Med HARRANE Page 13


Système d’exploitation - Linux Le système de fichiers

 À chaque système est associé un format


 Définit la structure des données sur le support
 Sous Linux
 ext2, ext3, jfs, xfs
 ext3 est la plus courante pour Linux
 Sous Windows
 fat, fat32, ntfs
 Nfts est utilisé sous windows XP et Vista
 Toujours préférer un système de fichier « journalisé »
 Chaque séquence de lecture/écriture est d’abord inscrite dans un
journal avant d’être effectuée
• Si le système se bloque pendant la séquence, elle sera achevée
après le redémarrage
 On évite les erreurs dans le système de fichiers

Med HARRANE Page 14


Système d’exploitation - Linux Le système de fichiers

Med HARRANE Page 15


Système d’exploitation - Linux Le système de fichiers

 Secteur : Après formatage « de bas niveau » (fait en usine - non-accessible aux


utilisateurs normaux), la totalité de l'espace disque est constitué de morceaux appelés
« Secteurs »". Les secteurs, depuis les années 1980, font 512 octets.
Un disque de 2 TO aura environ 3 906 250 secteurs.
Le secteur est la plus petite quantité de données (le plus petit nombre de caractères -
d'octets) que l'électronique du matériel sait manipuler. Par exemple, les secteurs
peuvent être de 256 octets ou 512 ou 1024 ou 2048 ou 4096 octets. Chaque fois que
quelque chose est lu ou écrit, c'est par secteurs que cela se passe.

 Cluster : Après formatage « de haut niveau » (le formatage fait par le système
d'exploitation - accessible aux utilisateurs) d'un volume (d'une partition), l'espace
disque est disponible au système d'exploitation, d'un seul tenant, sous forme de
blocs appelés " Clusters ".
Un «Cluster» est la plus petite quantité d'informations que le système
d'exploitation sait manipuler en une fois et est un multiple de «secteurs ». Windows
optimise la taille des cluster, lors du formatage « de haut niveau », en fonction du
matériel. Par exemple, un «Cluster » = « Quatre secteurs ». Si le secteur fait 2048
caractères, le cluster fait 8192 caractères et Windows manipule donc 8192 caractères
" à la volée ".
Si un fichier ne contient qu'un seul caractère, il occupera, sur le disque, un " cluster
" entier.
Med HARRANE Page 16
Système d’exploitation - Linux Le système de fichiers

 Le format « swap » est utilisé comme « mémoire virtuelle »


 Dans le cas où la mémoire vive est saturée
 Par le système pour améliorer les performances
 La taille du « swap » est fixée au double de la mémoire vive
• Si 512Mo de mémoire vive -> 1024Mo de swap
 Linux peut lire la plupart des formats
 Notamment Ceux de Windows : NTFS, FAT, FAT32
 Avant d’être utilisé, un disque doit être partitionné
 A l’aide de la commande « fdisk » si Linux est déjà installé
 Par le programme d’installation sinon (dépend de la distribution)
 Il faut ensuite créer un système de fichier
 Avec l’utilitaire générique « mkfs »
• mkfs.ext2, mkfs.ext3, mkfs.xfs, …

Med HARRANE Page 17


Système d’exploitation - Linux Le système de fichiers

 Sous Linux, « Tout est fichier »


 L’arborescence est construite à partir de « points de montage »
 Un point de montage est une association entre une partition
physique et l’arborescence du système
hda hdb
Montage etc
hda1 hdb1
/ home Montage
usr
hda2 hdb2
Montage

Disque 1 Arborescence système Disque 2

 Avantages
 Mettre à l’abri certaines données stratégiques comme /home
 La défaillance du disque hdb n’entraîne pas une réinstallation totale
Med HARRANE Page 18
Système d’exploitation - Linux Le système de fichiers

 Tant qu’ils ne sont pas effectués, le système de fichiers est


inaccessible
 Ils sont réalisés automatiquement au démarrage du système
 Seulement ceux qui figurent dans le fichier « /etc/fstab »
 Il est possible de créer un point de montage manuellement
 Pour les clés USB ou le CDROM par exemple
 En utilisant la commande « mount »
 Et « umount » pour supprimer le point de montage
root@PC-Med:~# mount /dev/hdd /mnt/cdrom
root@PC-Med:~# umount /dev/hdd

 Une partition est associée à un système de fichiers


 Il faut parfois préciser le type de ce système
• ext2, ext3, xfs, swap, jfs, iso9660, vfat, …

Med HARRANE Page 19


Système d’exploitation - Linux Le système de fichiers

 3 étapes sont nécessaires


 Création d’une partition : fdisk
 Initialisation du système de fichiers : mkfs
 Création d’un point de montage : mount
 1) Création d’une partition
 Partition principale de 100Mo avec « fdisk » sur /dev/sda
root@PC-Med:~# fdisk /dev/sda
Commande (m pour l'aide): n
Action de commande
e étendue
p partition primaire (1-4)
p
Numéro de partition (1-4): 1
Premier cylindre (1-26, par défaut 1):
Utilisation de la valeur par défaut 1
Dernier cylindre ou +taille or +tailleM ou +tailleK (1-26, par défaut 26): +100M
Commande (m pour l'aide): w
La table de partitions a été altérée!
Appel de ioctl() pour relire la table de partitions.
Synchronisation des disques.
Commande (m pour l'aide): q

Med HARRANE Page 20


Système d’exploitation - Linux Le système de fichiers

 Vérification de la partition sous « fdisk »


Commande (m pour l'aide): p
Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 1 13 104391 83 Linux

 2) Initialisation du système de fichiers


 Avec la commande « mkfs »
root@PC-Med:~# mkfs.ext3 /dev/sda1
mke2fs 1.40.8 (13-Mar-2013)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
26104 i-noeuds, 104388 blocs
5219 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=67371008
13 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
2013 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
8193, 24577, 40961, 57345, 73729
Écriture des tables d'i-noeuds : complété
Création du journal (4096 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Med HARRANE Page 21


Système d’exploitation - Linux Le système de fichiers

 Création du point de montage


 De type ext3
 Avec la commande « mount »
root@PC-Med:~# mount -t ext3 /dev/sda1 /mnt/said/

• Le répertoire « /mnt/said » doit déjà exister


 Vérification du point de montage avec la commande « df »
root@PC-Med:~# df
Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur
/dev/sdc1 7913216 2716248 4798156 37% /
varrun 127856 108 127748 1% /var/run
varlock 127856 0 127856 0% /var/lock
udev 127856 64 127792 1% /dev
devshm 127856 12 127844 1% /dev/shm
lrm 127856 38176 89680 30% /lib/modules/2.6.24-16-generic/vol..
/dev/sdd1 8045180 6987320 1057860 87% /media/GEN-USB
/dev/sda1 101086 5664 90203 6% /mnt/said

Med HARRANE Page 22


Système d’exploitation - Linux Le système de fichiers

 Si le doute s’installe quant à l’intégrité du système de


fichiers
 Une vérification s’impose
 Il faut parfois « démonter » le système en préalable à la vérification
 Utilisation de la commande générique « fsck »
 Fsck.ext3, fsck.vfat, fsck.ext2, fsck.nfs, …
 Exemple :
 Supprimer d’abord le montage avec « umount »
root@PC-Med:~# fsck /dev/sda1
fsck 1.40.8 (13-Mar-2013)
e2fsck 1.40.8 (13-Mar-2013)
/dev/sda1: clean, 2136/26104 files, 17541/104388 blocks

 Effectuer le montage après vérification pour accéder au système de


fichiers

Med HARRANE Page 23


Système d’exploitation - Linux Le système de fichiers

 Répertoire spécial n’existant pas physiquement sur le disque


 « /proc » est un pseudo-système de fichiers mis à jour en
temps réel par le noyau
 Chaque processus en cours d’exécution y dispose d’un sous
répertoire
• Le nom de ce sous-répertoire correspond au PID du processus
• Des informations importantes sur le processus y sont stockées
– Fichiers et mémoires utilisées par le processus
 Les fichiers de /proc sont en :
 Lecture seule : Permet d’obtenir des infos sur les processus
• Exemple : /proc/cpuinfo (Infos sur le processeur)
 Ecriture : Permet de modifier des paramètres du noyau
• Exemple : /proc/sys/net/ipv4/ip_forward (Activation du routage)

Med HARRANE Page 24


Système d’exploitation - Linux Le système de fichiers

 Quelques fichiers intéressants à consulter


 cpuinfo : informations sur le(s) processeur(s)
 meminfo : utilisation de la mémoire
 ioports : Adresses physiques des différents périphériques matériels
 Visualiser le fichier « /proc/cpuinfo » avec la commande
« cat »
root@PC-Med:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
stepping : 8
cpu MHz : 2500.585
cache size : 6144 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no

Med HARRANE Page 25


Système d’exploitation - Linux Le système de fichiers

 La ligne de commande donne des informations :


Utilisateur Répertoire
courant courant

root@PC-Med:/home/Layla# |

Nom de la # : Superutilisateur
machine $ : Utilisateur normal

 Autre exemple
Sous répertoire du home de Layla
« /home/Layla/Documents/software/ »

Layla@PC-Med:~/Documents/software$ |

~ : Répertoire home de Layla


(home/Layla)

Med HARRANE Page 26


Système d’exploitation - Linux Le système de fichiers

 La commande « pwd » permet de savoir quel est le


répertoire courant
 La commande « ls » permet de lister les fichiers contenus
dans un répertoire
 La commande « cd » permet de changer de répertoire
 Les symboles suivants ont une signification particulière :
 « . » : Le point désigne le répertoire courant
• Exemple : Exécuter un script depuis le répertoire courant
root@PC-Med:/home/Layla# ./script.sh

 « .. » : Les 2 points désignent le répertoire parent


• Exemple : Se déplacer dans le répertoire parent
root@PC-Med:/home/Layla/Docs# cd ..

 « ~ » : Désigne le répertoire home de l’utilisateur courant


root@PC-Med:/home/Layla/Docs# cd ~

Med HARRANE Page 27


Système d’exploitation - Linux Le système de fichiers

 Il existe 2 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 (« / »)
 Exemplesrelatif absolu
root@PC-Med:/home/Layla# cd Documents = root@PC-Med:/home/Layla# cd /home/Layla/Documents

root@PC-Med:/home/ali# cd Documents root@PC-Med:/home/ali# cd /home/Layla/Documents


root@PC-Med:/home/ali/Documents/# | = root@PC-Med:/home/Layla/Documents/# |

root@PC-Med:/etc/apache# cd ../ root@PC-Med:/etc/apache# cd /etc


root@PC-Med:/etc/# | = root@PC-Med:/etc/# |

Layla@PC-Med:~ # cd Docs ali@PC-Med:/etc# cd /home/Layla/Docs


Layla@PC-Med:~/Docs# | = root@PC-Med :/home/Layla/Docs # |

 Attention aux chemins relatifs à l’intérieur d’un script


 Le script peut-être exécuté depuis n’importe où
 Le répertoire courant est donc différent à chaque fois

Med HARRANE Page 28


Système d’exploitation - Linux Le système de fichiers

 Dans quel répertoire je suis situé ?


Layla@PC-Med:~/Documents/rep1$

 Réponse : Dans le répertoire « /home/Layla/rep1 »


 Par quel chemin relatif équivalent peut-on remplacer celui-ci ?
Layla@PC-Med:/etc$ cd /etc/ppp/peers/

 Réponse : « ppp/peers »
 Que m’indiquera le résultat de la commande suivante ?
mathilde@PC-Med:~/Documents/pub$ pwd

 Réponse : « /home/mathilde/Documents/pub »
 Commande la plus courte possible pour revenir dans le
répertoire rep2, situé à la racine de mon répertoire « home » ?
Layla@PC-Med:~/rep1/sousrep1$

 Réponse :
Layla@PC-Med:~/rep1/sousrep1$ cd ~/rep2

Med HARRANE Page 29


Système d’exploitation - Linux Le système de fichiers

 Linux est un système multi-utilisateurs


 Plusieurs utilisateurs se partagent l’espace disque
 Les fichiers et répertoires d’un utilisateur ne doivent pas être
accessibles par les autres
 Les fichiers de configuration du système doivent être protégés
 Nécessité de spécifier des droits pour chaque fichier/répertoire
 Plusieurs types de droits : Lecture (R), écriture (W), exécution (X)
 Ces droits s’appliquent pour 3 groupes d’utilisateurs :
• Le propriétaire (user) du fichier
• Le groupe (group) propriétaire (Tous les utilisateurs membre du
groupe)
• Les autres (others). Désigne tous les utilisateurs non membres des
2 précédents
 Les droits sont responsables d’un grand nombre d’erreurs de
configuration

Med HARRANE Page 30


Système d’exploitation - Linux Le système de fichiers

 Il existe 3 types de droits : r, w et x


 Ces droits n’ont pas la même signification pour un fichier que
pour un répertoire
 Pour un fichier :
 r : Lecture (afficher)
 w : Écriture (modification)
 x : Exécution (exécution d’un script)
 Pour un répertoire
 r : Lire le contenu, lister les fichiers (avec ls par exemple)
 w : Modifier le contenu, créer et supprimer des fichiers (avec les
commandes « cp », « mv », « rm »)
 x : Permet d’accéder aux fichiers du répertoire. Mais aussi de
naviguer dans les sous-répertoires (avec « cd »)
 En général, le droit w est souvent associé au droit x

Med HARRANE Page 31


Système d’exploitation - Linux Le système de fichiers

 La commande « ls -l» permet d’afficher les droits qui


s’appliquent
root@PC-Med:/home/Layla/Documents# ls -l
total 20
-rw-r--r-- 1 Layla Layla 0 2012-08-15 14:42 projet.txt
-rw-rw-r-x 1 Layla compta 7406 2012-08-15 14:44 rapport2006.ods
-rw-rw-r-- 1 Layla Layla 7363 2012-08-15 14:44 rapport-activite.odt
-rw-rwxr-x 1 Layla compta 255 2012-08-15 14:52 script.sh

 Signification
Groupe des différents Taille
champs Nom du fichier
propriétaire

a 255 2012-08-15 14:52 script.sh


rw- rwx r-x Layla compta

propriétaire autres Utilisateur Groupe Date/heure modif


propriétaire propriétaire

Propriétaire : Lecture, écriture


Groupe : Lecture, écriture et exécution
Autres : Lecture et exécution

Med HARRANE Page 32


Système d’exploitation - Linux Le système de fichiers

 Le droit « w » accordé à un répertoire permet :


 D’y effacer des fichiers quels que soient le propriétaire et les droits qui
s’appliquent à ces fichiers
 Quand il est donné à un groupe, n’importe quel utilisateur de ce groupe peut
supprimer des fichiers (dangereux)
 Les droits ne s’appliquent pas au « super-utilisateur »
 Il a tous les droits sur tout le système de fichiers
 C’est une très grande responsabilité puisque sous Linux tout ou presque
repose sur les fichiers
• La tendance évolue vers une utilisation très modérée voire interdite du
compte « root »
 Le droit « x » accordé à un répertoire est un préalable indispensable pour
exercer des droits sur les fichiers contenus
 L’utilisateur qui crée un fichier en devient le propriétaire
 Ce fichier aura comme groupe propriétaire, le groupe primaire du propriétaire
(Groupe principal auquel appartient le propriétaire)

Med HARRANE Page 33


Système d’exploitation - Linux Le système de fichiers

 Quel(s) utilisateur(s) pourra(ont) se déplacer dans le


répertoire suivant ?
drwxr-x--- 26 Layla marketing 4096 2013-08-28 16:11 Layla

 Réponse : « Layla » et les membres du groupe « marketing »


 Qui pourra créer de nouveaux fichiers dans ce répertoire ?
drwxr-xrw- 26 ali marketing 4096 2013-08-28 16:11 bilans

 Réponse : Tout le monde sauf les membres du groupe « marketing »


 Soit le fichier suivant :
-rwxr--r-- 26 sarah compta 25140 2013-08-28 16:11 rapport2006.odt

 Situé dans le répertoire suivant :


drwxrwxrwx 26 ali compta 4096 2013-08-28 16:11 rapports

 Qui pourra effacer ce fichier ?


• Réponse : Tout le monde malheureusement !!!

Med HARRANE Page 34


Système d’exploitation - Linux Le système de fichiers

 Utilisé pour définir les droits par défaut


 Droits appliqués pour un nouveau fichier lors de sa création
 Les bits du masque à 1 empêchent le fichier d’obtenir le
droit correspondant
 Exemple avec un masque de protection de 027
0 2 7

000 010 111


rwx rwx rwx Permissions maximum
rwx r-x --- Permissions effectives après application du masque
 La commande « umask » permet de modifier le masque
 Les fichiers et répertoires nouvellement crées seront alors protégés
 La valeur par défaut du masque est 022
• Est-ce suffisant ?

Med HARRANE Page 35


Système d’exploitation - Linux Le système de fichiers

 Permet de bénéficier de droits supplémentaires lors de


l’exécution d’une commande
 Un utilisateur quelconque peut alors avoir des droits supplémentaires
seulement s’il exécute la commande ayant le SUID
 Exemple de la commande « passwd »
 Elle permet de modifier son mot de passe
 « passwd » doit écrire dans le fichier « /etc/shadow » et pourtant :
linux:~# ls -l /etc/shadow
-rw-r----- 1 root shadow 700 2012-12-04 18:39 /etc/shadow

Aucune permission d’écriture sur ce fichier

linux:~# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 28480 2012-02-27 08:53 /usr/bin/passwd

La commande aura les droits du super-utilisateur même si n’importe quel


autre utilisateur lance son exécution

Med HARRANE Page 36


Système d’exploitation - Linux Le système de fichiers

 Identique au SUID mais appliqué au groupe propriétaire


 La commande obtiendra les droits du groupe propriétaire s’il elle est
exécutée par un autre utilisateur
 Attention, appliquée à un répertoire, le SGID :
 Modifie le groupe propriétaire d’un fichier créé dans le répertoire
 Ce ne sera plus le groupe primaire du propriétaire
• Mais plutôt le groupe propriétaire du répertoire
 Il y a donc un mécanisme d’héritage entre le répertoire et les fichiers
nouvellement créés qu’il contient
 Exemple :
drwxrws--- 2 root compta 4096 2013-08-24 13:05 docs-compta

SGID positionné sur « docs-compta »


-rw-r--r-- 1 Layla compta 0 2013-08-24 13:09 nouveau.txt

Le fichier nouvellement crée par Layla appartient au groupe « compta »


Med HARRANE Page 37
Système d’exploitation - Linux Le système de fichiers

 La commande « chmod » permet de modifier les droits :


 2 syntaxes différentes
chmod [OPTION]... MODE[,MODE]... FILE...

chmod [OPTION]... OCTAL-MODE FILE...

• Mode symbolique :
– Basé sur des symboles (ugoa) et des opérateurs (+,-,=)
– u (user), g (group), o (others), a (all users)
– + (Ajouter le droit), - (Retirer le droit),
= (Ajouter le droit et retirer tous les autres)
– Exemple (Ajoute le droit d’exécution au propriétaire) :
chmod u+x rapport.txt

• Mode octal :
– Basé sur des nombres de 0 à 7
– A chaque bit de la traduction binaire correspond un droit
– Exemple ( rw- rw- r-- ) : chmod 664 rapport.txt

Med HARRANE Page 38


Système d’exploitation - Linux Le système de fichiers

 Les droits sont représentés par un nombre octal (Base 8)


 De 1 à 7
 La représentation binaire (base 2) donne le détail des droits
 Exemple : 654
Propriétaire : Lecture, écriture
Groupe : Lecture et exécution
110 101 100 Autres : Lecture seulement

rw- r-w r--


 Ce mode permet de modifier tous les droits en même temps
 A utiliser avec précaution
 Très efficace pour s’assurer que tous les fichiers ont les mêmes
droits
 Utilisé pour sécuriser les accès des utilisateurs aux fichiers

Med HARRANE Page 39


Système d’exploitation - Linux Le système de fichiers

 Retirer le droit d’écriture au propriétaire et au groupe


chmod u-w,g-w /home/Layla/secret.txt

 Positionner les droits en « rwx r-w --- »


chmod 750 /home/Layla/secret.txt

 Ajouter le droit de lecture aux autres de tous les fichiers


chmod o+r /home/Layla/*

 Retirer le droit d’écriture au groupe propriétaire


 Pour tous les fichiers et répertoires d’un répertoire donné (Option R)
chmod -R g-w /home/Layla/*

 Donner tous les droits à tout le monde (déconseillé)


chmod 777 /home/Layla/secret.txt

Med HARRANE Page 40


Système d’exploitation - Linux Le système de fichiers

 La commande « chown » (Change owner) permet de


changer l’appartenance
 Pour le propriétaire ou le groupe propriétaire
 Syntaxe :
chown [OPTION]... [OWNER][:[GROUP]] FILE...

 Exemples :
 Modification du propriétaire (Layla)
chown Layla /usr/docs/said.txt

 Modification du groupe propriétaire (compta)


chown :compta /usr/docs/said.txt

 Modification du propriétaire (ali) et du groupe (direction)


• Pour tout le contenu du répertoire (Option R - récursif)
chown –R ali:direction /usr/docs/rapports/

Med HARRANE Page 41


Système d’exploitation - Linux Le système de fichiers

 Commande « chmod » nécessaire pour attribuer le droit d’écriture


au groupe pour le répertoire suivant :
drwxr-x--- 26 Layla marketing 4096 2013-08-28 16:11 Layla

 Réponse : chmod g+w Layla/

 Quels seront les droits accordés après la commande suivante ?


chmod 654 file.txt

 Réponse : propriétaire = rw , groupe = rx et autres = r ( rw- r-x r--)


 Quels seront les droits maximum accordés aux fichiers créés par
un utilisateur ayant un masque de protection de 023 ?
 Réponse : rwx r-x r—
 Quel sera le groupe propriétaire d’un fichier crée par « ali »
(Membre du groupe « compta ») dans le répertoire suivant :
drwxrsx--- 26 Layla drh 4096 2013-08-28 16:11 les-cvs

 Réponse : « drh »
Med HARRANE Page 42
Système d’exploitation - Linux Le système de fichiers

 La commande « cp » copie des fichiers source vers une ou


plusieurs destinations
 Syntaxe :
cp [OPTION]... SOURCE... DIRECTORY

 Exemples
 Copie le fichier « said.txt » vers « /home/Layla »
cp said.txt /home/Layla

 Copie tous les fichiers du répertoire « /home/ali » vers


« /home/Layla »
cp /home/ali/* /home/Layla

 Copie le rep « /home/ali » tout entier vers « /home/Layla »


cp -r /home/ali/ /home/Layla

 Copie en conservant les droits et l’appartenance (-a)


cp -a /home/ali/rapport.odt /home/Layla

Med HARRANE Page 43


Système d’exploitation - Linux Le système de fichiers

 Copier un fichier revient à créer un nouveau fichier


 Identique à l’original
 C’est donc l’utilisateur qui a effectué la copie qui devient le
propriétaire
 A moins d’utiliser l’option –a
 Exemple :
Je suis connecté en tant que root

root@PC-Med:/home/ali# ls -l Je liste le répertoire de Jean


total 0
lrwxrwxrwx 1 ali ali 26 2013-08-21 18:04 Examples -> /usr/share/example-content
-rw-r--r-- 1 ali ali 0 2013-08-21 18:14 rapport.odt
root@PC-Med:/home/ali# cp rapport.odt /home/Layla/ Ce fichier appartient à Jean
root@PC-Med:/home/ali# ls -l /home/Layla/
total 4
Je le copie chez Layla
-rw-r--r-- 1 root root 0 2013-08-21 18:14 rapport.odt
drwxr-xr-x 2 Layla Layla 4096 2013-08-21 17:59 rep1
drwxr-xr-x 2 Layla Layla 4096 2013-08-21 18:00 rep2 La copie m’appartient (root)
drwxr-xr-x 2 Layla Layla 4096 2013-08-15 14:41 Vidéos
root@PC-Med:/home/ali#

Med HARRANE Page 44


Système d’exploitation - Linux Le système de fichiers

 La commande « mv » déplace ou renomme une source vers


une destination.
 Syntaxe :
mv [OPTION]... SOURCE... DIRECTORY

 Exemples
 Déplace le fichier « said.txt » vers « /home/Layla » sans le renommer
mv said.txt /home/Layla

 Renomme le fichier « said.txt » en « tata.txt »


mv said.txt tata.txt

 Déplace tous les fichiers de « rep1 » vers « rep2 »


mv rep1/* rep2/

Med HARRANE Page 45


Système d’exploitation - Linux Le système de fichiers

 La commande « rm » permet d’effacer des fichiers et des


répertoires
 A utiliser avec précaution (Surtout avec l’option –r)
 Exemples :
 Effacer le fichier « rapport.txt »
rout@PC-Med:~$ rm /home/Layla/rapport.txt

 Effacer le répertoire « /home/Layla »


rout@PC-Med:~$ rm -r /home/Layla/

 Effacer tous les fichiers du rép. courant commençant par « rapport »


rout@PC-Med:~$ rm ./rapport*

 Effacer les fichiers du rép. courant se terminant par .txt


rout@PC-Med:~$ rm ./*.txt

 Avant d’utiliser « rm », savoir avant quelle sera la portée


 « rm -r /* » peut générer une catastrophe

Med HARRANE Page 46


Système d’exploitation - Linux Le système de fichiers

 Un « inode » est une structure de données concernant un


fichier
 Contient des informations sur :
• Les droits, le propriétaire et le groupe
• Le périphérique qui le contient
• Des données relatives au système de fichiers et à l’emplacement
du fichier sur le support de stockage
 A chaque fichier, correspond un « inode »
 Il est unique pour le périphérique de stockage qui contient le fichier
 Pour connaître l’inode d’un fichier, la commande « ls » avec
l’option « -i ».
rout@PC-Med:~/Documents/essais$ ls -il /home/rout/Documents
total 12
8246 drwxr-xr-x 2 rout rout 4096 2013-08-25 15:08 essais
467165 drwxr-xr-x 3 rout rout 4096 2013-06-02 14:20 software
475969 drwxr-xr-x 3 rout rout 4096 2013-07-29 15:54 vmware-tools

inode

Med HARRANE Page 47


Système d’exploitation - Linux Le système de fichiers

 Un lien est un type spécial de fichier qui fait référence à un


autre fichier
 Axe central du fonctionnement de Linux, le lien permet :
 De créer des raccourcis vers des fichiers existants
• La compatibilité des logiciels entre les distributions Linux est
assurée par les liens
 D’éviter de stocker plusieurs fois le même fichier dans des
répertoires différents
 Un petit dessin :
support de stockage support de stockage

fich1 01100011110 fich1 01100011110


10101011001 10101011001
0101001000 0101001000
fich2 010101010… 010101010…
fich2
liens physiques lien symbolique
Med HARRANE Page 48
Système d’exploitation - Linux Le système de fichiers

 Le lien symbolique est une référence vers un fichier cible


 Lorsque le fichier cible est effacé, le lien est rompu
 Lorsque le lien est effacé, le fichier cible n’est pas effacé
 Exemple :
Nom du lien
rout@PC-Med:~/Documents$ ls -l
total 8
lrwxrwxrwx 1 rout rout 29 2013-08-25 14:23 ip -> /proc/sys/net/ipv4/ip_forward
drwxr-xr-x 3 rout rout 4096 2013-06-02 14:20 software
drwxr-xr-x 3 rout rout 4096 2013-07-29 15:54 vmware-tools

Indique que c’est un lien Emplacement du vrai fichier

 La commande « ln » avec l’option « -s » est utilisée pour


créer un lien symbolique
rout@PC-Med:~/Documents$ ln –s /proc/sys/net/ipv4/ip_forward ip

Cible (Target) Nom du lien (link name)

Med HARRANE Page 49


Système d’exploitation - Linux Le système de fichiers

 Un lien physique est associé à un emplacement sur le


support de stockage
 2 liens peuvent être associés au même « inode »
 Similaire à la notion de « pointeurs » du langage C
 Deux liens physiques sont considérés comme 2 fichiers
indépendants
• Même si leur contenu est au même emplacement sur le support
 Le lien physique est vu comme un fichier régulier
 Créer un lien physique avec la commande « ln » : nom fichier
rout@PC-Med:~/Documents$ ln /home/Layla/Documents/rapport2012-2013.doc rap0708
rout@PC-Med:~/Documents/essais$ ls -il
total 176 cible
470930 -rw-r--r-- 2 rout rout 84091 2013-08-25 14:48 rap0708
470930 -rw-r--r-- 2 rout rout 84091 2013-08-25 14:48 rapport-annee2012_2013.doc

L’ « inode » est identique. Nombre de liens vers cet inode.


Il s’agit bien de liens C’est un indice permettant de
physiques supposer qu’il s’agit d’un lien

Med HARRANE Page 50


Système d’exploitation - Linux Le système de fichiers

 Où seront copiés les fichiers ?


ali@PC-Med:~/Documents$ cp /usr/docs-compta/* compta/

 Réponse : Dans « /home/ali/Documents/compta/ »


 Que risque-t-on d’effacer ?
root@PC-Med:/$ rm -r ./*

 Réponse : Tout le système de fichiers !!! (en tant que root)


 Par quelle commande peut-on remplacer la suivante afin d’éviter d’avoir
plusieurs copies des mêmes fichiers ?
Layla@PC-Med:~$ cp -r /usr/docs-compta ./

 Réponse : Layla@PC-Med:~$ ln –s /usr/docs-compta docs-compta

 Comment copier des fichiers en conservant les droits des


fichiers sources ?
 Réponse : Utiliser l’option -a de la commande « cp »

Med HARRANE Page 51

Vous aimerez peut-être aussi