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:

  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.

La dernière modification de cette page a été faite le 19 juin 2013 à 11:03.