Linux Commandes. · 6 min read · Sep 14, 2025

Tutoriel sur la commande chmod de Linux pour les débutants

La commande Linux chmod est utilisée pour changer les permissions des fichiers et des répertoires dans un système d’exploitation basé sur Linux. Elle permet aux utilisateurs de définir qui peut lire, écrire ou exécuter un fichier en modifiant les paramètres de permission. Les permissions sont généralement attribuées à trois catégories : le propriétaire du fichier, le groupe auquel appartient le fichier et les autres (tout le monde). La commande chmod peut être utilisée avec une notation symbolique (par exemple, chmod u+x nom_du_fichier pour ajouter la permission d’exécution pour l’utilisateur) ou une notation numérique (par exemple, chmod 755 nom_du_fichier pour définir des permissions spécifiques de lecture, d’écriture et d’exécution pour chaque catégorie). Cette commande est essentielle pour gérer le contrôle d’accès sur un système, garantissant que les fichiers et répertoires ont les paramètres de sécurité appropriés.

Veuillez noter que tous les exemples et instructions mentionnés dans ce tutoriel ont été testés sur Ubuntu 24.04, et la version de chmod que nous avons utilisée est 8.25.

Notions de base sur chmod

Considérons l’exemple suivant de la commande ls :

La première colonne dans la sortie est celle qui nous intéresse. Mettons de côté le ‘-‘ initial (qui signifie le type de fichier). Les champs restants dans la colonne peuvent être décomposés comme suit : rw- , rw- , et r–. Ce sont les permissions que le propriétaire du fichier, le groupe auquel appartient le fichier, et les autres ont pour ce fichier.

Cela signifie que le propriétaire a à la fois les permissions de lecture (r) et d’écriture (w), tout comme le groupe. Les autres, cependant, n’ont que des permissions de lecture pour le fichier. Veuillez noter que nous supposons que l’utilisateur actuel possède le fichier.

Maintenant, supposons que le besoin est de donner à tout le monde le droit d’exécuter ce fichier. Voici comment cela peut être fait :

chmod +x script.sh

Voici les permissions maintenant :

Le ‘x’ supplémentaire dans les permissions pour le propriétaire, le groupe et les autres signifie que tout le monde a maintenant accès à l’exécution de ce fichier.

Cependant, il est plus probable que vous ne souhaitiez pas que tout le monde ait accès à l’exécution d’un fichier. Que faire si le besoin est d’accorder uniquement au propriétaire/utilisateur actuel l’accès à l’exécution de script.sh.

Eh bien, pour cela, la première étape serait de retirer l’accès à l’exécution de tout le monde, ce que vous pouvez faire en utilisant la commande suivante :

chmod -x script.sh

Et ensuite l’accorder explicitement au propriétaire :

chmod u+x script.sh

Comme vous l’avez deviné, ‘u+x’ signifie accorder (+) à l’utilisateur/propriétaire actuel (u) l’accès à l’exécution (x) du fichier. De même, pour le groupe, vous pouvez utiliser ‘g’ et pour les autres, vous pouvez utiliser ‘o’.

Veuillez noter que chaque fois que vous souhaitez accorder/révoquer un ensemble commun de permissions à/de tous, vous pouvez utiliser ‘a’ au lieu de ‘ugo’. Ce que je veux dire, c’est que ceci :

chmod ugo-x script.sh

peut être remplacé par ceci :

chmod a-x script.sh

De plus, rappelez-vous que si aucun de ces (‘u’, ‘g’, ‘o’, et ‘a’) n’est spécifié explicitement, alors le défaut est supposé être ‘a’.

En continuant, si vous le souhaitez, vous pouvez également simplement copier les permissions accordées à, disons, l’utilisateur/propriétaire et les avoir pour le groupe ou les autres. Pour cela, utilisez le signe ‘=’.

Par exemple, pour copier les permissions de l’utilisateur/propriétaire au groupe, utilisez la commande suivante :

chmod g=u script.sh

Un autre scénario pourrait être de copier les permissions pour un fichier particulier et de les avoir pour votre fichier. Pour cela, utilisez l’option de ligne de commande –reference. Voici le modèle général pour utiliser cette option de ligne de commande :

chmod --reference=[fichier-source] [fichier-destination]

Dans la commande ci-dessus, fichier-source est le fichier dont vous souhaitez copier les bits de permission, et fichier-destination est le fichier dont vous souhaitez changer les bits de permission.

En continuant, il existe également une notation numérique (également connue sous le nom de représentation octale) avec laquelle vous pouvez dire à chmod de changer les permissions. Il y a trois nombres avec lesquels vous jouez dans ce mode : 4, 2 et 1. Alors que 4 est pour la lecture, les deux autres sont pour l’écriture et l’exécution, respectivement.

Par exemple, considérons l’exemple suivant :

Maintenant, supposons que la tâche est d’ajouter la permission d’exécution pour l’utilisateur/propriétaire, de retirer la permission d’écriture mais d’ajouter la permission d’exécution au groupe, et de retirer toutes les permissions des autres. Cela peut être fait comme suit :

chmod 750 script.sh

Dans la commande ci-dessus, ‘7’ est pour l’utilisateur, ce qui est le résultat de 4+2+1 car le besoin pour l’utilisateur est d’avoir toutes les permissions. De même, ‘5’ est pour le groupe, qui est le résultat de 4+0+1 car le besoin est de donner uniquement des permissions de lecture et d’exécution au groupe. Enfin, ‘0’ est pour les autres, qui est le résultat de 0+0+0, car le besoin est de révoquer toutes les permissions des autres.

Pour ceux qui traitent avec des liens symboliques, voici quelque chose à savoir :

chmod ne change jamais les permissions des liens symboliques ; l'appel système chmod ne peut pas changer leurs permissions. Ce n'est pas un problème puisque les permissions des liens symboliques ne sont jamais utilisées. Cependant, pour chaque lien symbolique répertorié sur la ligne de commande, chmod change les permissions du fichier pointé. En revanche, chmod ignore les liens symboliques rencontrés lors des traversées récursives de répertoires.

Référence de ligne de commande

La commande chmod dans Linux a plusieurs options de ligne de commande qui modifient son comportement. Voici une liste des options les plus couramment utilisées :

  • -R, –recursive : Cette option applique les changements de permission de manière récursive à tous les fichiers et répertoires dans le répertoire spécifié. Elle est utile lorsque vous souhaitez changer les permissions d’un répertoire et de tout son contenu en une seule fois.

Exemple : chmod -R 755 /chemin/vers/répertoire

  • -c, –changes : Cette option ne rapporte que lorsqu’un changement est effectué. Si les permissions sont modifiées avec succès, elle affiche un message indiquant le changement.

Exemple : chmod -c 644 nom_du_fichier

  • -v, –verbose : Cette option fournit des informations détaillées sur chaque fichier traité, que les permissions aient été changées ou non.

Exemple : chmod -v 755 nom_du_fichier

  • -reference=RFILE : Au lieu de spécifier les permissions directement, cette option vous permet de définir les permissions d’un fichier ou d’un répertoire pour qu’elles correspondent à un autre fichier ou répertoire (RFILE).

Exemple : chmod –reference=fichier1 fichier2

  • -f, –silent, –quiet : Cette option supprime la plupart des messages d’erreur, permettant à la commande de s’exécuter sans afficher de sortie pour les erreurs.

Exemple : chmod -f 755 nom_du_fichier

Ces options permettent à chmod d’être utilisé de manière flexible dans divers scénarios, des ajustements de fichiers uniques aux changements de permissions de répertoires à grande échelle.

Conclusion

Ici, dans ce tutoriel, nous avons discuté de la plupart des bases liées à cet outil, et les exemples que nous avons discutés visent à clarifier ces bases.

Veuillez noter que notre discussion s’est principalement concentrée sur les fichiers. Vous devez garder certains détails à l’esprit lors de l’utilisation de chmod avec des répertoires. Pour toutes ces informations (ainsi que plus de détails sur chmod), rendez-vous sur la page man de l’outil.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.