Linux Lignes de commandes
chmod
Changer les permissions sur un fichier ou un répertoire



Pour : Linux


chmod permet de changer les permissions de lecture, d'écriture et d'exécution d'un fichier ou d'un répertoire pour le propriétaire, son groupe et les autres.

Il existe 3 syntaxes différentes pour données des droits, dans les 3 cas le résultat est le même.
Syntaxe:

chmod [options] 777 [fichier_ou_répertoire]
chmod [options] +rwx ugo [fichier_ou_répertoire]
chmod [options] rwx rwx rwx [fichier_ou_répertoire]

PS: Vous pouvez modifier les droits sur les fichiers et répertoires seulement si vous êtes le propriétaire du fichier ou si vous disposez des droits "root".



Comment voir les permissions appliqué sur un fichier ou répertoire?

Pour celà vous devez utiliser la commande "ls" avec l'option "-l", voir ce tutoriel:
ls - Lister et afficher des informations sur les fichiers contenu dans un répertoire



Le principe

Il y à 3 types de permission différentes, le droit de lecture, d'écriture et d'exécution.
Et cela peut être définit indépendament au propriétaire du fichier ainsi qu'à son groupe et pour tout les autres.



Le fonctionnement

On va étudier le fonctionnement en mode Octale, le "chmod" est suivi de trois chiffres, chacun d'eux permettent de données des droits sur le propriétaire, le groupe et les autres.
Par défault le créateur d'un fichier ou d'un dossier devient automatiquement le propriétaire mais il est possible de le changer voir ce tutoriel:
chown - Changer le propriétaire et le groupe d'un fichier ou dossier en ligne de commande

chmod 756 [fichier_ou_répertoire]
Le chiffre de gauche (7) donne les permissions au propriétaire
Le chiffre du centre (5) donne les permissions au groupe
Le chiffre de droite (6) donne les permissions a tout les autres utilisateurs

Mais que signifie ces chiffres?
Chaque permissions disposent d'une valeur différentes.
La lecture = 4
L'écriture = 2
L'exécution = 1

Par exemple pour donner le droit de lecture et d'exécution on va respectivement additionner 4 + 1 = 5
Et si on fait un "chmod 555 [fichier_ou_répertoire]" cela aura pour éffet de mettre le droit de lecture et d'exécution au propriétaire, au groupe et aux autres.

Autre exemple si on veut donner tout les droits au propriétaire d'un fichier, donc la possibilité de lire, écrire et d'exécuter on va respectivement additionner 4 + 2 + 1 = 7.
Et donner on va donner que le droit de lecture au groupe et au autre, donc la lecture = 4.
Celà donne comme commande final:
chmod 744 [fichier_ou_répertoire]



La récursivité d'un dossier avec l'option "-R" (MAJUSCULE)

L'option "-R" (MAJUSCULE) permet d'appliquer les droits sur tout les fichiers et dossiers enfants contenu dans un répertoire.

Syntaxe:
chmod XXX -R [fichier_ou_répertoire]



Par O.Cédric
Sur www.octetmalin.net

Article publié le:
04/11/2011 17:36





Cette page vous à plus?

Dîtes que vous l'aimez en cliquant sur le bouton Facebook.