next up previous contents Next: La commande umask. Up: Droits et les trois Previous: Droits et les trois   Table des matières  


15.1 La commande chmod.

La commande chmod permet de modifier les droits d'un fichier. Sa syntaxe se présente comme suit:

chmod [-R][u|g|o|a][+|-] [r|w|x|s|t] <fichier> [<fichier>] ... 


Par exemple,

chmod u+x mon_fichier 


ajoute le droit d'exécution à mon_fichier en ce qui concerne l'utilisateur. Par ailleurs,

chmod a-rx mon_fichier 


ôte les droits de lecture (read) et d'exécution (execute) pour tous (all), c'est-à-dire l'utilisateur, le groupe et les autres. L'option -R signifie récursivement.

Les droits d'accès sont souvent représentés sous leur forme binaire, en particulier dans les programmes. Il est donc utile de voir comment rwxrwxrwx se traduit en mode octal [voir la section 3.1]. Les fichiers sont usuellement créés sur un ordinateur selon le mode 0644, ce qui signifie rw-r-.-r-.-. [NdT: Pour l'utilisateur (u), rwx correspond à 400 + 200 + 100 (=700). Pour le groupe (g), rwx correspond à 40 + 20 + 10 (=70). Pour les autres (o), rwx correspond à 4 + 2 + 1 (=7). La combinaison rw-r-.-r-.- vaut 400 + 200 + 0 + 40 + 0 + 0 + 4 + 0 + 0 (=644). L'origine du chiffre 0 précédant ce nombre dans l'exemple du texte est expliqué à la fin du paragraphe 15.1.] Vous fixez les droits de manière explicite en mode octal de cette manière:

chmod 0755 mon_fichier 


ce qui donne à mon_fichier les droits rwxrw-rw-. Pour une liste complète des valeurs octales des droits et des types de fichiers, référez-vous à /usr/include/linux/stat.h.

Dans le tableau 8, vous pouvez lire s, le bit setuid ou setgid. S'il est utilisé sans exécuter de droits, cet indicateur n'a pas de signification et il est écrit comme S. Cet indicateur modifie un x en s de sorte que vous devriez lire un s pour ``exécuter avec le bit setuid (ou setgid selon la position)'' . t est le bit sticky. Il n'a pas de signification s'il n'y a pas de droits d'exécution et est alors écrit comme T.

Le chiffre 0 peut être négligé mais il est souhaitable de l'indiquer pour expliciter complètement les droits. Ce chiffre peut prendre une valeur associée aux bits setuid (4), setgid (2) et sticky (1). Ainsi, une valeur de 5764 équivaut à -rwsrw-r-T. [NdT: Dans ce cas, 764 signifie donc -rwxrw-r- -. Etant donné que le droit d'exécution (x) associé à l'utilisateur est converti en bit setuid et que le dernier bit est converti en bit sticky, on compte 4000 + 0 + 1000 (=5000) auquel on ajoute 764 (=5764). Etant donné que le bit sticky s'applique à un droit désactivé, il passe en majuscule (T).]


next up previous contents Next: La commande umask. Up: Droits et les trois Previous: Droits et les trois   Table des matières  
1-01-2006