💻 Systèmes

Systèmes de fichiers et permissions : NTFS, ext4, droits UNIX

📅 10 avril 202614 min de lecture
linuxwindowsbash
Série : Fondamentaux Systèmes

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èmeUsage
XFSHautes performances, gros fichiers (Red Hat par défaut)
BtrfsSnapshots, compression, RAID logiciel
FAT32Compatible tous OS, limité à 4 Go/fichier
exFATClé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 -la

Permissions 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 /tmp

umask

Le umask définit les permissions par défaut. C'est un masque soustrait des permissions maximales :

  • Fichiers : 666 - umask → umask 022 donne 644 (rw-r--r--)
  • Répertoires : 777 - umask → umask 022 donne 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 fichier

Un + 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 /tmp empêche la suppression des fichiers d'autrui
  • umask 022 est le défaut standard (fichiers 644, répertoires 755)
  • Les ACL complètent rwx pour des permissions plus fines