Page 4 sur 11
3 – Les systèmes de fichiers sur Linux

3.1 – Les principaux systèmes de fichiers
ext4 (Fourth Extended Filesystem)
- Le plus utilisé sur Linux actuellement
- Successeur d'ext3, avec journalisation
- Supporte des fichiers jusqu'à 16 To et des partitions jusqu'à 1 Eo
- Très stable et performant
- Utilise la journalisation pour prévenir la corruption de données
XFS
- Conçu pour les hautes performances
- Excellent pour les gros fichiers et les systèmes avec beaucoup de stockage
- Utilisé par défaut sur Red Hat Enterprise Linux
- Supporte des systèmes de fichiers très volumineux
Btrfs (B-tree File System)
- Système moderne avec des fonctionnalités avancées
- Snapshots, compression à la volée, RAID intégré
- Détection et correction automatique des erreurs
- Encore en développement actif
F2FS (Flash-Friendly File System)
- Optimisé pour les supports flash (SSD, cartes SD)
- Améliore les performances et la durée de vie des SSD
FAT32 / exFAT
- Compatibilité multiplateforme (Windows, Mac, Linux)
- Limité (FAT32 : fichiers de 4 Go max)
- Utile pour les clés USB
NTFS
- Système de fichiers Windows
- Support en lecture/écriture sous Linux (via ntfs-3g)
tmpfs
- Système de fichiers en mémoire RAM
- Très rapide, mais non persistant
- Utilisé pour /tmp ou /run
3.2 - Propriétés des fichiers et répertoires
3.2.1 - Types de fichiers
Sous Linux, tout est fichier. On distingue :
- - : fichier régulier
- d : répertoire (directory)
- l : lien symbolique
- c : périphérique caractère
- b : périphérique bloc
- s : socket
- p : pipe nommé
3.2.2 - Propriétés principales
Droits d'accès (Permissions)
Les droits sont représentés par 10 caractères, par exemple : -rwxr-xr--
- rwx r-x r--
│ │ │ │
│ │ │ └─ Autres (others)
│ │ └────── Groupe (group)
│ └─────────── Propriétaire (owner/user)
└─────────────── Type de fichier
Signification des lettres :
- r (read) : lecture (4)
- w (write) : écriture (2)
- x (execute) : exécution (1)
- - : permission absente
Valeurs numériques (octales) :
- chmod 755 = rwxr-xr-x (7=4+2+1, 5=4+1, 5=4+1)
- chmod 644 = rw-r--r--
- chmod 777 = rwxrwxrwx (tous les droits)
Pour les répertoires :
- r : lister le contenu
- w : créer/supprimer des fichiers dedans
- x : accéder au répertoire (traverser)
Propriétaire et Groupe
Chaque fichier appartient à :
- Un utilisateur (propriétaire)
- Un groupe
ls -l fichier.txt
-rw-r--r-- 1 utilisateur groupe 1024 Oct 14 10:30 fichier.txt
│ │
└───────────┴─ Propriétaire et groupe
Commandes :
- chown utilisateur fichier : changer le propriétaire
- chgrp groupe fichier : changer le groupe
- chown utilisateur:groupe fichier : changer les deux
Bits spéciaux
SUID (Set User ID) - bit 4000
- Sur un fichier exécutable : s'exécute avec les droits du propriétaire
- Exemple : /usr/bin/passwd (permet aux utilisateurs de changer leur mot de passe)
SGID (Set Group ID) - bit 2000
- Sur un fichier : s'exécute avec les droits du groupe
- Sur un répertoire : les nouveaux fichiers héritent du groupe du répertoire
Sticky Bit - bit 1000
- Sur un répertoire : seul le propriétaire peut supprimer ses fichiers
- Exemple : /tmp (tout le monde peut créer, mais pas supprimer les fichiers des autres)
Autres propriétés
Nom du fichier :
- Sensible à la casse (txt ≠ fichier.txt)
- Peut contenir presque tous les caractères (éviter / et le caractère nul)
- Les fichiers commençant par . sont cachés
Métadonnées (inode) :
- Taille du fichier
- Dates : création, modification, dernier accès
- Nombre de liens (hard links)
- Numéro d'inode : identifiant unique du fichier
Attributs étendus :
- lsattr / chattr : attributs spécifiques Linux
- i : immuable (non modifiable, même par root)
- a : append only (ajout uniquement)
- c : compressé automatiquement