Aller au contenu
Administration Linux medium

Modifier les droits avec chmod, chown et chgrp

8 min de lecture

Pour modifier qui peut lire, écrire ou exécuter un fichier, Linux fournit trois commandes : chmod (permissions), chown (propriétaire) et chgrp (groupe). Ce guide montre comment les utiliser concrètement, avec les deux notations de chmod, symbolique et octale.

  • Utiliser chmod en notation symbolique (u+x, g-w, o=r)
  • Utiliser chmod en notation octale (644, 755, 700)
  • Changer le propriétaire avec chown
  • Changer le groupe avec chgrp
  • Appliquer des modifications récursives sur un dossier

La notation symbolique désigne qui on modifie, quelle action et quelle permission :

QuiSignification
uUser (propriétaire)
gGroup (groupe)
oOthers (autres)
aAll (tout le monde)
ActionSignification
+Ajouter une permission
-Retirer une permission
=Définir exactement ces permissions

Exemples :

Fenêtre de terminal
# Rendre un script exécutable par le propriétaire
chmod u+x script.sh
# Retirer l'écriture au groupe et aux autres
chmod go-w rapport.txt
# Donner lecture seule à tout le monde
chmod a=r document.txt

Vérifiez le résultat après chaque modification :

Fenêtre de terminal
ls -l script.sh

Chaque permission a une valeur numérique :

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

On additionne les valeurs pour chaque niveau (user, group, others) :

PermissionsCalculOctal
rwx4+2+17
rw-4+2+06
r-x4+0+15
r--4+0+04
---0+0+00

Pour chmod, on écrit trois chiffres : user, group, others.

Fenêtre de terminal
# rw-r--r-- (lecture/écriture propriétaire, lecture seule pour les autres)
chmod 644 rapport.txt
# rwxr-xr-x (exécutable par tous, écriture propriétaire seul)
chmod 755 script.sh
# rwx------ (accès total propriétaire, rien pour les autres)
chmod 700 dossier-prive/
OctalSymboliqueUsage typique
644rw-r--r--Fichiers de configuration, documents
755rwxr-xr-xScripts, dossiers partagés
700rwx------Fichiers ou dossiers personnels sensibles
600rw-------Clés SSH, fichiers secrets
Fenêtre de terminal
# Changer le propriétaire d'un fichier
sudo chown alice fichier.txt
# Changer propriétaire ET groupe en une seule commande
sudo chown alice:devs fichier.txt
Fenêtre de terminal
# Changer le groupe d'un fichier
sudo chgrp devs projet.txt

chgrp est utile quand vous voulez modifier uniquement le groupe sans toucher au propriétaire. Vous pouvez aussi utiliser chown :devs fichier.txt (notez le : devant le groupe).

Pour appliquer un changement à un dossier et tout son contenu :

Fenêtre de terminal
# Permissions récursives
chmod -R 755 projet/
# Propriétaire récursif
sudo chown -R alice:devs projet/
  1. Créez un script :

    Fenêtre de terminal
    echo '#!/bin/bash' > mon-script.sh
    echo 'echo "Bonjour !"' >> mon-script.sh
  2. Vérifiez les permissions actuelles :

    Fenêtre de terminal
    ls -l mon-script.sh
    Résultat
    -rw-r--r-- 1 bob bob 35 avr 6 10:00 mon-script.sh
  3. Ajoutez le droit d'exécution :

    Fenêtre de terminal
    chmod u+x mon-script.sh
  4. Exécutez le script :

    Fenêtre de terminal
    ./mon-script.sh
  1. Changez le groupe du dossier :

    Fenêtre de terminal
    sudo chgrp devs projet/
  2. Donnez les droits d'écriture au groupe :

    Fenêtre de terminal
    chmod g+w projet/
  3. Vérifiez :

    Fenêtre de terminal
    ls -ld projet/
    Résultat
    drwxrwxr-x 2 bob devs 4096 avr 6 10:00 projet/
SymptômeCause probableSolution
chmod: opération non permiseVous n'êtes pas propriétaire du fichierUtiliser sudo chmod ou demander au propriétaire
chown: opération non permisechown nécessite rootAjouter sudo devant la commande
Un script reste non exécutablechmod appliqué sur le mauvais fichierVérifier avec ls -l le fichier exact
Tous les fichiers d'un dossier sont exécutableschmod -R 755 appliqué au lieu de séparer fichiers/dossiersUtiliser find avec -type f et -type d
Permission refusée malgré chmod 777Le dossier parent n'a pas xVérifier les permissions du dossier parent avec ls -ld

Entre la théorie des bits rwx et le bon chmod du premier coup, il y a un pas que seul l'exercice fait franchir. Ce lab vous confie quatre cas concrets : un secret privé, un script exécutable, une note lisible par le groupe et un répertoire personnel verrouillé, chacun devant porter des permissions exactes en notation octale ou symbolique.

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

  • chmod modifie les permissions : notation symbolique (u+x) ou octale (644).
  • chown change le propriétaire (nécessite sudo).
  • chgrp change le groupe.
  • Les combinaisons courantes : 644 (fichiers), 755 (scripts, dossiers), 700 (privé).
  • L'option -R applique les modifications récursivement, à utiliser avec prudence.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn