La commande CHMOD

I. A quoi sert cette commande ?

Cette commande sert à définir les droits des utilisateurs sur un fichier, un dossier, de manière récursive ou non.

II. Fonctionnement de la commande

  • Cette commande permet de définir les droits pour 3 types d'utilisateurs différents, que voici :

- Les droits concernant le propriétaire du fichier / dossier.

- Les droits concernant le groupe propriétaire du fichier / dossier.

- Les droits concernant tous les autres utilisateurs.

  • A ceux-ci peuvent s'appliquer 3 types de droits différents :

- r = Read : droit de lecture.

- w = Write : droit d'écriture.

- x = eXecution : droit d'exécution.

  • Chacun de ces types de droits a une valeur :

- "r" à la valeur 4.

- "w" à la valeur 2.

- "x" à la valeur 1.

Il faut additionner les chiffres entre eux selon les droits que vous souhaitez attribuer. Lorsque l'on veut donner tous les droits, c'est à dire Lecture - Ecriture - Exécution, on ajoute 4 + 2 + 1, ce qui donne 7 est correspondra au contrôle total pour le type d'utilisateur auquel le "7" sera attribué.

Syntaxe de la commande :

chmod1

III. Exemples

- Si on a un fichier nommé "personnel" dont on veut que seul le propriétaire puisse l'ouvrir et le modifier, nous devons lui donner les droits maximum (correspondant à la valeur 7), et pour les deux autres types d'utilisateurs nous devons donner aucun droit, la valeur sera donc 0. Voici la commande permettant cela :

chmod 700 personnel

- Si on est situé à la racine ("/") et que l'on a un fichier nommé "partage" se trouvant dans le répertoire "/home/public" et que tous le monde à le droit de lire et d'écrire dans ce répertoire, voici la commande à effectuer :

chmod 777 /home/public/partage

 

IV Récursivité

Si vous souhaitez affecter les droits à un répertoire et à tous ses sous répertoires et tous les fichiers qu'il contient il faut utiliser la fonction de récursivité de la commande CHMOD en ajoutant le paramètre "-R" à la fin de la commande.

V. Autre manière d'utiliser CHMOD : "Gérer les droits avec des lettres"

Avec cette manière, on précise d'abord à quel type d'utilisateur s'applique les droits que l'on va attribuer. Si l'on utilise "u" cela indique que c'est pour l'utilisateur propriétaire, "g" pour le groupe propriétaire et "a" pour tous les autres utilisateurs.

Ensuite, on ajoute soit un "+", soit un "-", le "+" si on veut ajouter des droits au type d'utilisateur indiqué, le "-" si l'on veut retirer des droits au type d'utiliateur indiqué.

A la suite de cela, il faut indiqué les droits que l'on ajoute ou que l'on retire, en indiquant directement la lettre correspondante au droit, c'est à dire "r" pour la lecture, "w" pour l'écriture et "x" pour l'exécution.

VI. Exemple pour cette manière

- Si on veut que les utilisateurs qui sont ni du groupe propriétaire, ni propriétaire du fichier appelé "partage", c'est à dire tous les autres utilsateurs aient accès en écriture à ce même fichier et qu'actuellement ils ont juste accès en lecture et exécution à ce fichier, voici la commande à exécuter :

chmod a+w partage

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5503.Voir tous les posts

2 thoughts on “La commande CHMOD

  • chmod +X *

    droit que pour les répertoires (pour pouvoir les ouvrir !)

    Répondre
  • J’ai essayé même des choses bizares mais Makefile reste toujours en lecture seule: je ne sais plus que faire
    [pierre@Linux-fedora envoyer]$ sudo chmod 777 Makefile
    [pierre@Linux-fedora envoyer]$ sudo chmod -777 Makefile
    [pierre@Linux-fedora envoyer]$ sudo chmod -r -777 Makefile
    [pierre@Linux-fedora envoyer]$ sudo chmod -777 -r Makefile
    [pierre@Linux-fedora envoyer]$ sudo chmod -R -777 Makefile
    [pierre@Linux-fedora envoyer]$ sudo chmod -777 -R Makefile
    Merci si vous avez la réponse

    Répondre

Répondre à Laurent Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.