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 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