Systèmes de fichiers et permissions : NTFS, ext4, droits UNIX
Arborescence et chemins
Sous Linux, tout part de la racine /. Dossiers clés : /etc (configuration), /home (données utilisateurs), /var (logs, bases), /tmp (temporaire), /usr (programmes). Sous Windows, chaque volume a sa lettre (C:\, D:\).
Un chemin absolu part de la racine (/home/user/doc.txt). Un chemin relatif part du répertoire courant (./doc.txt, ../images/photo.jpg). Le . désigne le courant, .. le parent.
Systèmes de fichiers principaux
ext4 (Linux)
Système par défaut de la plupart des distributions Linux. Journalisé : un journal enregistre les modifications avant de les appliquer, permettant la récupération après crash. Taille max : 16 To par fichier, 1 Eo par volume. Chaque fichier est représenté par un inode (métadonnées + pointeurs vers les blocs).
NTFS (Windows)
Standard Windows, également journalisé. Chiffrement natif (EFS), compression, quotas par utilisateur, ACL granulaires. La MFT (Master File Table) est l'équivalent de la table d'inodes.
Autres
| Système | Usage |
|---|---|
| XFS | Hautes performances, gros fichiers (Red Hat par défaut) |
| Btrfs | Snapshots, compression, RAID logiciel |
| FAT32 | Compatible tous OS, limité à 4 Go/fichier |
| exFAT | Clés USB, cartes SD, sans limite de 4 Go |
Permissions UNIX
Le modèle rwx
Trois catégories : u (propriétaire), g (groupe), o (autres). Trois permissions : r (read = 4), w (write = 2), x (execute = 1).
rwxr-xr-- = 754
│││││││││
│││││││└─ autres : lecture seule (4)
││││└─└── groupe : lecture + exécution (5)
│└─└──── propriétaire : tout (7)
Permissions sur les répertoires
- r : lister le contenu (
ls) - w : créer/supprimer des fichiers
- x : traverser le répertoire (
cd)
Un répertoire sans x est inaccessible même avec r.
Commandes essentielles
# Notation octale
chmod 755 fichier
# Notation symbolique
chmod u+x script.sh
chmod g-w,o-r fichier
# Changer propriétaire et groupe
chown alice:devteam fichier
# Afficher les permissions
ls -laPermissions spéciales
SUID (4xxx) : le programme s'exécute avec les droits du propriétaire du fichier. Exemple : /usr/bin/passwd a le SUID pour modifier /etc/shadow.
SGID (2xxx) : sur un répertoire, les fichiers créés héritent du groupe du répertoire.
Sticky bit (1xxx) : sur un répertoire, seul le propriétaire d'un fichier peut le supprimer. Appliqué à /tmp.
# Ajouter SUID
chmod u+s programme
# Ajouter SGID sur un répertoire partagé
chmod g+s /data/partage
# Sticky bit
chmod +t /tmpumask
Le umask définit les permissions par défaut. C'est un masque soustrait des permissions maximales :
- Fichiers : 666 - umask →
umask 022donne 644 (rw-r--r--) - Répertoires : 777 - umask →
umask 022donne 755 (rwxr-xr-x)
ACL (Access Control Lists)
Les ACL étendent le modèle rwx pour des permissions par utilisateur/groupe spécifique :
# Donner rw à alice spécifiquement
setfacl -m u:alice:rw fichier
# Afficher les ACL
getfacl fichierUn + en fin de permissions dans ls -l indique la présence d'ACL.
Permissions NTFS (Windows)
NTFS utilise des ACL avec héritage. Permissions : Contrôle total, Modification, Lecture/exécution, Lecture, Écriture. Règles : les permissions sont cumulatives sauf les refus (Deny) qui sont prioritaires. Les sous-dossiers héritent des permissions du parent.
Points clés pour le concours
- ext4 et NTFS sont journalisés — récupération après crash
chmod 755= rwxr-xr-x (propriétaire : tout, groupe/autres : lecture+exécution)- SUID permet l'exécution avec les droits du propriétaire du fichier
- Le sticky bit sur
/tmpempêche la suppression des fichiers d'autrui umask 022est le défaut standard (fichiers 644, répertoires 755)- Les ACL complètent rwx pour des permissions plus fines