La commande CHMOD
Sommaire
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 :
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
chmod +X *
droit que pour les répertoires (pour pouvoir les ouvrir !)
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