← Retour au portail

Fiche 4 - Permissions Linux – gérer les droits d’accès (sans ACL)

Comprendre et modifier les permissions des fichiers et répertoires sous Linux avec chmod, chown, chgrp et umask.

Intermédiaire — SISR 1ère année ⏱️ 20 min 📁 Administration système

🎯 Objectifs de la fiche

  1. Notions de base (propriétaire, groupe, autres) — Identifier les trois niveaux de droits
  2. Lire les permissions avec ls -l — Décoder l’affichage des droits (rwx)
  3. Modifier les permissions avec chmod — Utiliser les modes numérique et symbolique
  4. Changer le propriétaire et le groupe avec chown/chgrp — Transférer la propriété d’un fichier
  5. Masque de création par défaut – umask — Définir les permissions par défaut pour les nouveaux fichiers

Prérequis

Un système Linux (Debian/Ubuntu) avec accès à un interpréteur de commandes. Avoir un utilisateur standard et connaître la commande ls.

1. Les trois niveaux de droits

Sous Linux, chaque fichier ou répertoire possède trois catégories d’utilisateurs :

CatégorieSignification
Propriétaire (user)L’utilisateur qui a créé le fichier (ou qui s’est vu attribuer la propriété)
Groupe (group)Tous les utilisateurs appartenant à ce groupe
Autres (others)Tous les autres utilisateurs du système

Pour chaque catégorie, trois droits peuvent être accordés :

DroitFichierRépertoire
r (read)Lire le contenu du fichierLister le contenu du répertoire (ls)
w (write)Modifier ou supprimer le fichierCréer, renommer ou supprimer des fichiers dans le répertoire
x (execute)Exécuter le fichier (script, programme)Traverser le répertoire (cd, accès)

2. Afficher les permissions avec ls -l

touch monfichier
ls -l monfichier

Exemple d’affichage : -rw-r--r-- 1 alice users 0 juin 10 12:00 monfichier

ChampExempleExplication
1er caractère-Type (- fichier, d répertoire, l lien symbolique)
Caractères 2 à 4rw-Droits du propriétaire (rwx)
Caractères 5 à 7r--Droits du groupe
Caractères 8 à 10r--Droits des autres
Nom d’utilisateuralicePropriétaire
Nom du groupeusersGroupe propriétaire
💡 Un répertoire doit avoir le droit x pour que vous puissiez entrer dedans (cd). Un fichier exécutable nécessite x pour être lancé.

3. Modifier les droits avec chmod

Méthode numérique (octale)

On attribue un chiffre (0 à 7) pour chaque catégorie, calculé par la somme des droits :

DroitValeur
r (read)4
w (write)2
x (execute)1

Exemple : chmod 755 monfichier → propriétaire = 7 (4+2+1 = rwx), groupe = 5 (4+0+1 = r-x), autres = 5 (r-x).

chmod 644 monfichier   # rw-r--r--
chmod 755 monfichier   # rwxr-xr-x
chmod 600 secret       # rw-------

Méthode symbolique

On utilise les lettres u (user), g (group), o (others), a (all) et les opérateurs +, -, =.

chmod u+x monfichier      # ajoute exécution pour le propriétaire
chmod go-w monfichier     # enlève l’écriture pour groupe et autres
chmod a=r monfichier      # tous en lecture seule (r--r--r--)
⚠️ Ne jamais mettre un fichier en 777 en production (tous les droits à tout le monde). Cela rend le système vulnérable.

4. Changer propriétaire et groupe avec chown / chgrp

chown modifie le propriétaire (et éventuellement le groupe). Nécessite les droits sudo (sauf pour ses propres fichiers).

sudo chown bob monfichier                # propriétaire devient bob
sudo chown :staff monfichier             # groupe devient staff
sudo chown bob:staff monfichier          # propriétaire bob et groupe staff
chgrp users monfichier                   # changer uniquement le groupe (si l’utilisateur en est membre)

5. Masque de création par défaut (umask)

umask définit les permissions par défaut des nouveaux fichiers et répertoires. Il s’agit d’un masque soustrait des permissions maximales (666 pour un fichier, 777 pour un répertoire).

umask                     # affiche la valeur courante (ex: 0022)
umask 0027                # change le masque (propriétaire rwx, groupe rx, autres ---)
touch nouveau_fichier     # aura les droits 640 (rw-r-----)
💡 Un umask de 0002 (notation octale) est souvent utilisé sur les serveurs partagés : il donne rwxrwxr-x pour les répertoires et rw-rw-r-- pour les fichiers.

6. Cas particuliers : droits SUID, SGID, sticky bit

Ces bits spéciaux modifient le comportement des exécutables ou des répertoires :

BitNotationEffet
SUID (setuid)rws à la place de rwx pour le propriétaireLe programme s’exécute avec les droits du propriétaire (ex: passwd)
SGID (setgid)rws à la place de rwx pour le groupeSur un fichier : s’exécute avec le groupe du fichier. Sur un répertoire : nouveaux fichiers héritent du groupe.
Sticky bitrwt à la place de rwx pour les autresSur un répertoire (ex: /tmp), seuls le propriétaire et root peuvent supprimer leurs fichiers.
chmod u+s monprogramme     # ajoute SUID
chmod g+s monrep           # ajoute SGID sur un répertoire
chmod +t mondossier        # ajoute le sticky bit
Quel est le droit minimal pour entrer dans un répertoire (cd) ?
  • r (lecture)
  • w (écriture)
  • x (exécution)
  • rwx complet

✅ Réponse : x (exécution)

Quelle commande donnerait les droits rwxr-xr-- à un fichier ?
  • chmod 754
  • chmod 755
  • chmod 644
  • chmod 751

✅ Réponse : chmod 754

La commande chmod go-w fichier enlève le droit d'écriture à :
  • propriétaire et groupe
  • groupe et autres
  • propriétaire et autres
  • tous les utilisateurs

✅ Réponse : groupe et autres

Avec un umask de 0022, quel sera le droit par défaut d'un nouveau fichier ?
  • rw-r--r-- (644)
  • rw-rw-r-- (664)
  • rwxr-xr-x (755)
  • rw------- (600)

✅ Réponse : rw-r--r-- (644)

Le bit SUID (setuid) sur un exécutable permet de :
  • l'exécuter avec les droits du propriétaire
  • l'exécuter avec les droits du groupe
  • empêcher la suppression par d'autres utilisateurs
  • forcer l'héritage du groupe

✅ Réponse : l'exécuter avec les droits du propriétaire

🎯 Passer l'évaluation de cette fiche