chmod : changer les permissions sur des fichiers et des r´epertoires
La commande chmod a une syntaxe bien particulière. Sa syntaxe générale est :
chmod [options] <change mode> <file|directory> [file|directory...]
mais ce sont les différentes formes que peut prendre le changement de mode qui la rendront plus spécifique.
Ceci peut se produire de deux façons :
1. en octal. Les droits d’accès de l’utilisateur propriétaire correspondent alors à des chiffres de la forme <x>00, où <x> correspond au droit assigné : 4 pour lecture, 2 pour écriture, 1 pour exécution. De même, les droits d’accès du groupe propriétaire sont de la forme <x>0 et ceux des « autres » sont de la forme x. Pour obtenir le chiffre correct, il suffira d’additionner les droits d’accès assignés. Ainsi, les permissions rwxr-xr-- correspondent à 400+200+100 (droits d’accès de l’utilisateur propriétaire, rwx) +40+10 (droits d’accès du groupe, r-x) +4 (droits d’accès des autres, r--) = 754. Les droits d’accès sont ainsi exprimés de manière absolue : les droits d’accès précédents sont remplacés de façon inconditionnelle ;
2. à l’aide de certaines expressions. Les droits d’accès sont ici indiqués par une suite d’expressions séparées par des virgules, une expression étant de la forme [cat´egorie]<+|-|=><droits d’acc`es>. La catégorie peut être une combinaison de :
• u (User, soit utilisateur, permission pour propriétaire) ;
• g (Group, soit groupe, permission pour le groupe propriétaire) ou ;
• o (Others, permission pour les « autres »).
Si aucune catégorie n’est spécifiée, le changement s’applique à toutes les catégories. Un + appose un droit d’accès, un - le retire et un = établit la permission. Pour finir, les droits d’accès sont définis par une ou plusieurs des lettres suivantes :
• r (Read, soit lecture) ;
• w (Write, soit écriture) ;
• x (eXecute, soit exécution).
Les options principales sont très similaires à celles de chown ou chgrp :
• -R : change les droits d’accès récursivement ;
• -v : mode verbeux. Il décrit les actions effectuées pour chaque fichier ;
• -c : comme -v, mais ne mentionne que les fichiers dont les droits d’accès ont changé.
Exemples : 😉
chmod -R o-w /shared/docs
Enlève de façon récursive le droit d’écriture aux « autres » sur tous les fichiers et sous-répertoires du répertoire /shared/docs/ ;
chmod -R og-w,o-x prive/
Enlève de façon récursive le droit d’écriture pour le groupe et les autres sur tout le répertoire prive/, et retire le droit d’exécution pour les autres ;
chmod -c 644 divers/fichier*
Change les droits d’accès de tous les fichiers du répertoire divers/ dont les noms commencent par fichiers en rw-r--r-- (droit de lecture pour tout le monde et droit d’écriture pour le propriétaire du fichier seulement). Cette commande ne mentionne que les fichiers affectés par l’opération.
Ce texte est tiré du
Manuel de référence Mandriva.