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:
$\displaystyle drwxrwxrwx$
où la première lettre ``d signifie qu'il sagit d'un répertoire. Cette écriture est explicité dans le shé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:
1. chmod a-wx fichier.tex enlève à tous les usagers la possibilité de modifier (écrire) et d'exécuter ce fichier. 2. chmod o+rw gaffe.txt ajoute la permission aux autres usagers de lire et modifier ce fichier (ce n'est pas à conseiller!). 3. chmod u=r Final ne permet à l'usager qu'une permission de lecture du fichier Final.
Remarques:
1. La notion de protection s'applique tout autant à un fichier standard qu'à un répertoire ou un sous-répertoire. 2. 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.