Les permissions Linux : comprendre chmod et chown

AL
Abdallah LISSER
03/08/2026
8 min de lecture
213 vues
Les permissions Linux : comprendre chmod et chown

Lorsque vous utilisez Linux, chaque fichier et chaque dossier possède des permissions. Elles permettent de déterminer qui peut lire, modifier ou exécuter un fichier. C'est un mécanisme essentiel qui protège vos données et garantit la sécurité du système.

Si vous avez déjà rencontré le message "Permission denied", c'est généralement parce que les permissions ne permettent pas l'action que vous souhaitez effectuer.

Dans ce tutoriel, nous allons apprendre à afficher les permissions, les comprendre, puis les modifier grâce aux commandes chmod et chown.

Aucune connaissance particulière n'est nécessaire.

Étape 1 - Préparer un environnement de test

Avant de modifier des permissions, nous allons créer quelques fichiers de démonstration. Cela nous permettra d'expérimenter sans risque.

Ouvrez un terminal puis exécutez les commandes suivantes :

mkdir permissions-demo
cd permissions-demo
touch document.txt
touch script.sh
mkdir sauvegarde

Ces commandes créent un dossier nommé permissions-demo, deux fichiers vides et un dossier.

Vérifiez le résultat avec :

ls

Vous devriez obtenir quelque chose de similaire :

document.txt
script.sh
sauvegarde

Création de l'environnement de test des permissions Linux

Étape 2 - Afficher les permissions

Maintenant que notre environnement est prêt, affichons les permissions.

Pour cela, utilisez la commande :

ls -l

Vous obtenez un résultat ressemblant à celui-ci :

Affichage des permissions avec ls -l

Au premier regard, ces informations peuvent sembler compliquées. Pourtant, elles suivent toujours le même fonctionnement.

Chaque ligne décrit un fichier ou un dossier.

Elle indique notamment :

  • son type ;
  • ses permissions ;
  • son propriétaire ;
  • son groupe ;
  • sa taille ;
  • son nom.

Étape 3 - Comprendre les permissions

Observons uniquement cette partie :

-rw-r--r--

Le premier caractère indique le type de l'élément.

  • - signifie qu'il s'agit d'un fichier.
  • d signifie qu'il s'agit d'un dossier.

Les neuf caractères suivants représentent les permissions.

Ils sont séparés en trois groupes :

rw-   r--   r--

Chaque groupe correspond à une catégorie d'utilisateurs.

Le premier groupe concerne le propriétaire.

Le deuxième concerne les utilisateurs appartenant au même groupe.

Le troisième concerne tous les autres utilisateurs.

Chaque lettre possède une signification.

Lettre Signification
r Lecture (Read)
w Écriture (Write)
x Exécution (Execute)
- Permission absente

Pour l'exemple, le propriétaire peut lire et modifier le fichier.

En revanche, il ne peut pas l'exécuter.

Les autres utilisateurs disposent uniquement du droit de lecture.

À retenir : avant de modifier les permissions d'un fichier, prenez toujours l'habitude d'utiliser ls -l afin de vérifier les droits actuellement appliqués.

Analyse des permissions d'un fichier Linux

Étape 4 - Pourquoi certaines commandes affichent "Permission denied" ?

Essayons de créer un petit script.

Ouvrez le fichier :

nano script.sh

Ajoutez le contenu suivant :

#!/bin/bash
echo "Bienvenue sur SysNetTuto !"

Création d'un script Bash avec Nano

Enregistrez le fichier puis quittez Nano.

Essayez ensuite de l'exécuter.

./script.sh

Vous obtenez probablement le message :

Permission denied

Cette erreur ne signifie pas que votre script est incorrect.

Linux refuse simplement de l'exécuter, car il ne possède pas encore le droit d'exécution.

Il s'agit d'un mécanisme de sécurité qui empêche le lancement accidentel de fichiers.

Erreur Permission denied lors de l'exécution d'un script

Étape 5 - Donner le droit d'exécution avec chmod

Pour rendre le script exécutable, utilisez la commande suivante :

chmod +x script.sh

Décortiquons cette commande.

  • chmod signifie Change Mode.
  • Le symbole + indique que l'on ajoute une permission.
  • Le x représente la permission d'exécution.

Autrement dit, cette commande autorise désormais l'exécution du fichier.

Vérifiez les nouvelles permissions.

ls -l

Vous devriez obtenir :

Ajout du droit d'exécution avec chmod

Vous remarquerez que le x est apparu.

Essayez maintenant d'exécuter le script.

./script.sh

Le message suivant s'affiche :

Bienvenue sur SysNetTuto !

Le script fonctionne désormais correctement.

Exécution du script après modification des permissions

Étape 6 - Retirer une permission

Il est également possible de supprimer une permission.

Par exemple :

chmod -x script.sh

Le symbole - indique que l'on retire une permission.

Essayez ensuite de relancer le script.

./script.sh

Le message Permission denied réapparaît.

Cette commande est utile lorsque vous souhaitez empêcher l'exécution d'un fichier.

Retrait du droit d'exécution avec chmod

Étape 7 - Comprendre la notation numérique

Jusqu'à présent, nous avons utilisé les symboles +x et -x.

Il existe une autre méthode, très utilisée par les administrateurs système : la notation numérique.

Chaque permission possède une valeur.

Permission Valeur
Lecture 4
Écriture 2
Exécution 1

Ces valeurs peuvent être additionnées.

Par exemple :

  • 7 = Lecture + Écriture + Exécution
  • 6 = Lecture + Écriture
  • 5 = Lecture + Exécution
  • 4 = Lecture uniquement

La commande suivante :

chmod 755 script.sh

attribue :

  • 7 au propriétaire ;
  • 5 au groupe ;
  • 5 aux autres utilisateurs.

Le propriétaire peut donc lire, modifier et exécuter le fichier, tandis que les autres utilisateurs peuvent uniquement le lire et l'exécuter.

Cette notation est très pratique, car elle permet de modifier plusieurs permissions en une seule commande.

Étape 8 - Quelques exemples utiles

Autoriser uniquement le propriétaire à lire et modifier un fichier :

chmod 600 document.txt

Autoriser tout le monde à lire un fichier, mais seul le propriétaire peut le modifier :

chmod 644 document.txt

Donner tous les droits au propriétaire et uniquement la lecture et l'exécution au groupe et aux autres utilisateurs :

chmod 755 script.sh

Attention : vous rencontrerez parfois la commande :

chmod 777 fichier

Elle donne tous les droits à tout le monde. Même si elle peut résoudre temporairement un problème, elle représente un risque de sécurité. Il est donc préférable de l'éviter, sauf dans des cas très particuliers.

Étape 9 - Comprendre le propriétaire d'un fichier

Reprenons le résultat de la commande :

ls -l

Vous obtenez par exemple :

Propriétaire et groupe d'un fichier Linux

Regardons uniquement cette partie :

abdallah abdallah

Le premier nom correspond au propriétaire du fichier.

C'est généralement la personne qui a créé le fichier.

Le second nom correspond au groupe auquel appartient ce fichier.

Tous les membres de ce groupe peuvent bénéficier des permissions définies pour le groupe (r-x, rw-, etc.).

Dans un environnement avec plusieurs utilisateurs, cette distinction est très importante.

Identification du propriétaire et du groupe d'un fichier

Étape 10 - Changer le propriétaire avec chown

La commande permettant de modifier le propriétaire est :

sudo chown utilisateur fichier

Par exemple :

sudo chown root document.txt

Le fichier appartient désormais à l'utilisateur root.

Vérifiez le résultat avec :

ls -l

Vous devriez voir :

Changement du propriétaire avec chown

Le propriétaire a changé.

À noter : cette commande nécessite généralement les droits administrateur, d'où l'utilisation de sudo.

Modification du propriétaire d'un fichier avec chown

Étape 11 - Modifier le propriétaire et le groupe

Il est également possible de modifier le propriétaire et le groupe en une seule commande.

La syntaxe est la suivante :

sudo chown utilisateur:groupe fichier

Par exemple :

sudo chown root:root document.txt

Le propriétaire devient root et le groupe devient également root.

Cette commande est souvent utilisée lors de l'installation de services ou d'applications.

Modification du propriétaire et du groupe avec chown

Étape 12 - Modifier un dossier entier

Imaginons que votre dossier contienne plusieurs fichiers.

Il serait fastidieux de modifier chaque élément individuellement.

La commande chown possède donc une option très pratique :

sudo chown -R utilisateur:utilisateur permissions-demo

L'option -R signifie récursif.

Autrement dit, le changement sera appliqué :

  • au dossier ;
  • à tous les sous-dossiers ;
  • à tous les fichiers présents à l'intérieur.

Cette option est très utilisée après une copie de fichiers ou lors de la restauration d'une sauvegarde.

Étape 13 - Modifier les permissions d'un dossier entier

Le même principe existe avec chmod.

Par exemple :

chmod -R 755 permissions-demo

Toutes les permissions seront appliquées au dossier ainsi qu'à son contenu.

Attention : n'utilisez pas cette commande sans réfléchir, surtout dans des dossiers système.

Une mauvaise permission peut empêcher un programme de fonctionner correctement.

Bonnes pratiques

Avant de modifier les permissions d'un fichier, prenez toujours quelques secondes pour analyser la situation.

Commencez par afficher les informations avec ls -l. Cela vous permettra de savoir si le problème provient des permissions ou du propriétaire.

Évitez également de donner plus de droits que nécessaire. Une permission trop permissive peut représenter un risque de sécurité, surtout sur un serveur accessible par plusieurs utilisateurs.

Enfin, utilisez sudo uniquement lorsque cela est réellement nécessaire. Travailler quotidiennement avec les privilèges administrateur augmente le risque de supprimer ou de modifier un fichier important par erreur.

Conclusion

Les commandes chmod et chown font partie des outils indispensables pour administrer un système Linux.

Grâce à chmod, vous pouvez contrôler qui est autorisé à lire, modifier ou exécuter un fichier. Avec chown, vous pouvez changer le propriétaire d'un fichier ou d'un dossier lorsque cela est nécessaire.

En combinant ces deux commandes avec ls -l, vous serez capable de résoudre la majorité des problèmes de permissions rencontrés sous Linux. Prenez le temps de vous entraîner sur des fichiers de test avant de modifier des fichiers système, et gardez à l'esprit qu'une bonne gestion des permissions est l'une des bases de la sécurité sous Linux.

Commentaires

Laisser un commentaire

0 / 2500 caractères
* Champs obligatoires. Votre commentaire sera publié immédiatement.

Soyez le premier à commenter cet article !

Image agrandie