Le tutoriel suivant permet de comprendre et gérer les droits des fichiers de votre système sous Linux.
Introduction
Commençons par afficher un dossier afin de visualiser les éléments que les deux commandes chmod et chown permettent de modifier :
ls -l /etc/apache2/ total 76 -rw-r--r-- 1 root root 7151 Jan 29 16:06 apache2.conf drwxr-xr-x+ 2 root root 4096 Jan 25 17:57 conf-available drwxr-xr-x+ 2 root root 4096 Jan 23 12:14 conf-enabled -rw-r--r-- 1 root root 1782 Jul 5 2016 envvars -rw-r--r-- 1 root root 31063 Jul 5 2016 magic drwxr-xr-x+ 2 root root 8192 Jan 25 17:45 mods-available drwxr-xr-x+ 2 root root 4096 Jan 29 15:05 mods-enabled -rw-r--r-- 1 root root 320 Jul 5 2016 ports.conf drwxr-xr-x+ 2 root root 4096 May 18 16:40 sites-available drwxr-xr-x+ 2 root root 71 May 18 11:26 sites-enabled
La première colonne nous indique si nous visualisons un fichier (-), un lien (l) ou un dossier (d) ainsi que leurs droits (drwxr-xr-x+).
Les colonnes suivantes nous indique le propriétaire, le groupe, la taille, la date de modification et le nom.
Les droits sont définis par les caractères 2 à 10 comme l’indique le tableau suivant :
rwxr-xr-- \ /\ /\ / v v v | | droits des autres utilisateurs (o) | | | droits des utilisateurs appartenant au groupe (g) | droits du propriétaire (u)
chmod
La commande chmod permet de modifier les droits d’un fichier/dossier.
Les droits se modifie soit en octal soit de façon individuelle.
En octal, la commande chmod est suivi de 3 chiffres soit le 1er pour le propriétaire, le second pour le groupe et le dernier pour les autres utilisateurs selon la règle suivante :
- 0 : – – – (aucun droit)
- 1 : – – x (exécution)
- 2 : – w – (écriture)
- 3 : – w x (écriture et exécution)
- 4 : r – – (lecture seule)
- 5 : r – x (lecture et exécution)
- 6 : r w – (lecture et écriture)
- 7 : r w x (lecture, écriture et exécution)
### User en rwx, Group en rx et Other en rx chmod 755 fichier.txt ### User en rw, Group en r et Other en aucun droit chmod 640 fichier.txt
En individuel, on indique l’entité concernée User (u), Group (g), Other (o) ou Tous (a) et l’action d’ajout (+) ou de suppression (-) de droit.
### Ajout du droit w à User chmod u+w fichier.txt ### Retrait du droit rx à Group chmod g-rx fichier.txt ### Ajout rwx à User, Ajout rx et retrait w à Group, Ajout r et retrait wx à Other chmod u+rwx,g+rx-w,o+r-wx fichier.txt ### Ajout rw à tous les utilisateurs chmod a-rw fichier.txt
Argument permettant d’appliquer la modification au dossier en mode récursif.
Les droits les plus courant dont :
rw---- fichier en lecture/écriture seul pour le créateur. rw-rw-r-- fichier en lecture pour tout le monde, modifiable uniquement par le créateur ou une personne de sont groupe et lu par tout le monde. rwxrwxr-x script pouvant être éxécuté uniquement par le créateur ou une personne de sont groupe et lu par tout le monde. drwxr-xr-x répertoire pouvant être modifié uniquement par le créateur et être lu et parcouru par tout le monde.
Notez que le droit rw-rw-rw- est très fortement déconseillé, il est préférable de se limiter à rw-rw-r—
Un générateur de permissions chmod est disponible en fin de tutoriel.
chown / chgrp
La commande chown permet de modifier le propriétaire du fichier/dossier.
Seul le propriétaire et l’utilisateur root peuvent modifié les droits d’un fichier/dossier.
Il est également possible de modifier le propriétaire et le groupe simultanément.
La commande chgrp permet de modifier le groupe du fichier/dossier.
ls -l | grep fichier.txt -rw-r--r-- 1 root root 7151 May 22 16:06 fichier.txt chown nouveau_propriétaire fichier.txt ls -l | grep fichier.txt -rw-r--r-- 1 nouveau_propriétaire root 7151 May 22 16:06 fichier.txt chgrp nouveau_groupe fichier.txt ls -l | grep fichier.txt -rw-r--r-- 1 nouveau_propriétaire nouveau_groupe 7151 May 22 16:06 fichier.txt chown root:root fichier.txt ls -l | grep fichier.txt -rw-r--r-- 1 root root 7151 May 22 16:06 fichier.txt
Argument permettant d’appliquer la modification au dossier en mode récursif.
Générateur
Afin de modifier vos permissions plus rapidement, vous pouvez utiliser le générateur suivant :