La commande chmod
chmod [options] <fichiers/répertoires>
La commande chmod permet de configurer l'accès aux fichiers et aux répertoires.
Pour une liste exhaustive des options et des fonctionnalités, consultez le manuel de la commande (man chmod).
Description
Avec chmod, il est possible de déterminer quels usagers peuvent accéder à vos fichiers et ce qu'il leur est permis de faire.
La commande reconnaît 4 ensembles d'usagers :
- user (u), l'usager propriétaire;
- group (g), le groupe de l'usager propriétaire;
- other (o), tous les usagers, sauf l'usager propriétaire et les membres de son groupe;
- all (a), tous les usagers, sans exception.
N.B. : L'usager propriétaire est le créateur du fichier ou du répertoire.
La commande reconnaît 3 types d'accès aux fichiers :
- read (r), lecture;
- write (w), écriture;
- execute (x), exécution.
drwxrwxrwx
La première lettre 'd' signifie qu'il s'agit d'un répertoire. Cette écriture est explicitée dans le schéma suivant:
Fichier:Chmod0.png
Sur le réseau du DMS, un nouveau fichier créé par un usager aura les protections suivantes par défaut:
-rw-r--r--
Ainsi, l'usager peut lire (r) et éditer le fichier (w) mais ne peut l'exécuter (l’absence de la permission x est signalée par un trait '-'). Les groupes et tous les autres usagers du réseau DMS ne peuvent que lire ce nouveau fichier. L'absence de la lettre 'd' signifie simplement que cet objet n'est pas un répertoire.
Il est possible de vérifier les permissions des fichiers et répertoires avec la commande
ls -al
De plus, pour changer les accès à un fichier ou à un répertoire pour un niveau donné, on utilise la commande chmod. La syntaxe générale pour cette commande est:
chmod [ugoa][+-=][rwx] nom_de_fichier_ou_répertoire
Exemples
La commande
chmod a-wx fichier.tex
retire à tous les usagers la possibilité de modifier (écrire) et d'exécuter ce fichier. La ligne
chmod o+rw gaffe.txt
ajoute la permission aux autres usagers de lire et modifier ce fichier (ce n'est pas à conseiller!). Le dernier exemple
chmod u=r Final
autorise l'usager à la lecture seulement du fichier Final à l'usager.
En bref, le symbole '=' sert à fixer le type d'accès d'un niveau alors que les symboles '+' et '-' servent, respectivement, à ajouter et à retirer un type d'accès d'un niveau.
Syntaxe chiffrée
Il existe une autre syntaxe de chmod utilisant une valeur numérique des niveaux et des types d'accès. Par exemple,
chmod ug=rw toto.txt
est équivalent à
chmod 660 toto.txt
Cette syntaxe 'chiffrée ne peut servir qu'à fixer les d'accès de tous les niveaux d'un seul trait: il n'est pas possible de l'utiliser pour ajouter ou retirer un accès à un niveau. Le premier chiffre donne les accès de l'usager, le deuxième les accès du groupe et, le troisième, les accès des autres. La valeur de chaque chiffre est la somme d'un ou plusieurs chiffres correspondant à des accès différents:
- 4 : lecture
- 2 : écriture
- 1 : exécution
- 0 : aucun