Aller au contenu
Administration Linux medium

Modifier les droits avec chmod, chown et chgrp

6 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
  • 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 tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn