Différences entre versions de « La commande chmod »

Ligne 1 : Ligne 1 :
== Description ==
+
== Description et syntaxe ==
  
 
La commande <tt>chmod</tt> permet de modifier la protection des fichiers et des répertoires. Vous pouvez ainsi contrôler qui peut accéder à vos fichiers et de quelle manière (lecture, écriture).
 
La commande <tt>chmod</tt> permet de modifier la protection des fichiers et des répertoires. Vous pouvez ainsi contrôler qui peut accéder à vos fichiers et de quelle manière (lecture, écriture).
 
== Guide ==
 
  
 
Chaque fichier est soumis à 2 types de protection:
 
Chaque fichier est soumis à 2 types de protection:
Ligne 53 : Ligne 51 :
 
</pre>
 
</pre>
  
== Exemples ==
+
=== Exemples ===
  
 
La commande
 
La commande
Ligne 74 : Ligne 72 :
  
 
autorise l'usager à la lecture seulement du fichier <tt>Final</tt> à l'usager.  
 
autorise l'usager à la lecture seulement du fichier <tt>Final</tt> à l'usager.  
 
  
 
En bref, le symbole '<tt>=</tt>' sert à ''fixer'' le type d'accès d'un niveau alors que les symboles '<tt>+</tt>' et '<tt>-</tt>' servent, respectivement, à ''ajouter'' et à ''retirer'' un type d'accès d'un niveau.
 
En bref, le symbole '<tt>=</tt>' sert à ''fixer'' le type d'accès d'un niveau alors que les symboles '<tt>+</tt>' et '<tt>-</tt>' servent, respectivement, à ''ajouter'' et à ''retirer'' un type d'accès d'un niveau.
  
=== Remarques ===
+
=== Syntaxe chiffrée ===
 
 
* La notion de protection s'applique tout autant à un fichier qu'à un répertoire ou à un sous-répertoire.
 
* Il existe une autre syntaxe de <tt>chmod</tt> utilisant une valeur numérique des niveaux et des types.
 
  
Par exemple,
+
Il existe une autre syntaxe de <tt>chmod</tt> utilisant une valeur numérique des niveaux et des types d'accès. Par exemple,
  
 
<pre>
 
<pre>
chmod ug=rw toto
+
chmod ug=rw toto.txt
 
</pre>
 
</pre>
  
Ligne 92 : Ligne 86 :
  
 
<pre>
 
<pre>
chmod 660 toto
+
chmod 660 toto.txt
 
</pre>  
 
</pre>  
  
Cette syntaxe ne peut servir qu'à fixer le type d'accès de tous les niveaux d'un seul trait. 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:
+
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:
  
 
* <tt>4</tt>: lecture
 
* <tt>4</tt>: lecture

Version du 2 décembre 2011 à 12:26

Description et syntaxe

La commande chmod permet de modifier la protection des fichiers et des répertoires. Vous pouvez ainsi contrôler qui peut accéder à vos fichiers et de quelle manière (lecture, écriture).

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 group, le groupe auquel vous appartenez;
  • o pour other, indiquant tous les usagers;
  • a pour all, désignant tout le monde (vous, le groupe et les autres).

Il existe plusieurs types d'accès, les plus communs étant:

  • r pour read, permission de lecture;
  • w pour write, permission d'écriture;
  • x pour execute, permission d'exécution.

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

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

Pour plus d'information sur la commande chmod, démarrez un terminal de commandes, puis entrez la commande

man chmod

Voir aussi

Articles connexes


La dernière modification de cette page a été faite le 2 décembre 2011 à 12:26.