Les permissions sur les fichiers
Parmi les commandes les plus utilisées sur un système de type Unix on trouve chmod. Celle-ci est des plus utiles mais également des plus puissantes. En effet c'est elle qui vous permettra de changer les droits des fichiers sur vos différents disques et de vous éviter bien des tracas en réseau.
Les permissions
Dès sa création, chaque fichier reçoit un certain nombre de permissions de la part du système. Ces permissions définissent les droits d'accès possibles des trois catégories d'utilisateurs :
Les droits pour chaque catégorie sont la lecture, l'écriture et l'exécution. La lecture est un droit qui s'applique aussi bien à un fichier pour en lire le contenu ou un répertoire pour en lister le contenu. L'écriture permet de modifier un fichier. Dans le cas d'un répertoire, ce droit permet l'ajout ou la suppression des fichiers. Enfin, le droit d'exécution permet tout logiquement d'exécuter un fichier ou de se déplacer dans un répertoire.
Lister les droits
Pour savoir quels sont vos droits sur un fichier ou un répertoire, la méthode la plus simple consiste à utiliser la commande ls. L'utilisation du paramètre -l permet de connaître bien des informations comme dans l'exemple suivant :
-rwxr-xr-- 1 root root 1204 Sep 20 22:54 test.sh
On retrouve un groupe de dix caractères. Le premier caractère détermine s'il s'agit d'un répertoire (d), d'un lien (l) ou encore d'un fichier normal (-). Les neufs caractères suivants affichent les droits, classés par catégorie (utilisateur, groupe, autres). Ces droits sont lecture (r), écriture (w) et exécution (x). Plus loin on retrouve le nom du propriétaire puis celui du groupe.
Changer les droits
C'est dans ce cas que s'applique chmod avec la syntaxe suivante :
chmod catégorie+/-droits fichier
Exemples :
chmod u+x monfichier rend exécutable monfichier pour l'utilisateur courant.
chmod +w monfichier active le droit en écriture pour toutes les catégories.
chmod go-rw monfichier retire les droits de lecture et d'écriture pour le groupe et les autres.
Comme vous pouvez le voir, la catégorie est symbolisée par un caractère, u pour les propriétaires, g pour le groupe et enfin o pour les autres. Le - retire un droit et le + l'applique. Finalement, la symbolique utilisée pour l'affichage des droits est reprise dans la commande chmod (rwx).
Il existe une autre méthode qui consiste à utiliser les valeurs correspondantes aux différents droits.
chmod 666 monfichier permet d'autoriser la lecture et l'écriture du fichier à toutes les catégories.
Explications :
Lecture (400) et écriture (200) pour le propriétaire donne 600
Lecture (40) et écriture (20) pour le groupe donne 60
Lecture (4) et écriture (2) pour les autres donne 6
Il suffit alors d'additionner les trois chiffres qui nous donne 666 et de les attribuer au fichier par chmod.
Utilisateur | Groupe | Autres |
Lecture 400 | Lecture 40 | Lecture 4 |
Ecriture 200 | Ecriture 20 | Ecriture 2 |
Exécution 100 | Exécution 10 | Exécution 1 |
En savoir plus
Comme d'habitude, la meilleure information est le système lui-même. Consultez les man pages des commandes ls et chmod pour en apprendre d'avantage.