La commande chmod
Protection des fichiers et des répertoires
Chaque fichier est soumis à 2 types de protection:
- par niveau;
- par accès.
Il y a 4 niveaux de protection:
- u pour user, i.e. vous;
- g pour le group, à lequel vous appartenez;
- o pour other, indiquant tous les usagers;
- a pour all, désignant tout le monde.
Il y a (entre autres) 3 types d'accès:
- r pour read, permission de lecture;
- w pour write, permission d'écriture;
- x pour execute, permission d'exécuter.
Pour chaque fichier/répertoire, il y a donc 3 types d'accès pour chaque niveau. Un répertoire n'ayant aucune protection est présenté de la façon suivante:
drwxrwxrwx
où la première lettre d signifie qu'il s'agit d'un répertoire. Cette écriture est explicité dans le schéma suivant:
\begin{gather*}\begin{array}[ht]{ccccc} & u & g & o &\} a\\ d&\overbrace{rwx}&\overbrace{rwx}&\overbrace{rwx}& \end{array}\end{gather*}
Par défaut sur le réseau du DMS, un nouveau fichier créé par un usager aura les protections suivantes:
$\displaystyle -rw-r--r--$
i.e. que l'usagers peut lire (r) et éditer le fichier (w) mais ne peut l'exécuter (l'abscence 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 item est un fichier.
Il est possible de connaître ces protections à l'aide de la commande ls -al. De plus, pour changer les accès (pour un niveau donné) à un fichier ou même a un répertoire, on utilise la commande chmod dont la syntaxe générale est: chmod [ugoa][+-=][rwx] nom_de_fichier_ou_répertoire Exemples:
chmod a-wx fichier.tex
enlève à tous les usagers la possibilité de modifier (écrire) et d'exécuter ce fichier.
chmod o+rw gaffe.txt
ajoute la permission aux autres usagers de lire et modifier ce fichier (ce n'est pas à conseiller!).
chmod u=r Final
ne permet à l'usager qu'une permission de lecture du fichier Final.
Remarques:
- La notion de protection s'applique tout autant à un fichier standard qu'à un répertoire ou un sous-répertoire.
- Il existe une autre syntaxe de chmod utilisant une valeur numérique des niveaux et des types. Par exemple
chmod ug=rw toto est équivalent à chmod 660 toto On devrait consulter les manuels de référence pour plus d'informations.