Gérer les permissions sous GNU/Linux
Publié le 6 min de lecture
Mis à jour le
Un système d’exploitation GNU/Linux compte trois types d’utilisateurs et trois types de permissions distincts. Cette page présente les options les plus courantes pour les scripts, en se concentrant sur la gestion des dossiers et fichiers d’un site web sur un serveur Apache sous GNU/Linux.
Pour des informations complémentaires, vous pouvez consulter la documentation d’ubuntu-fr.org :
La commande chmod
Types d’utilisateurs :
- Le propriétaire du fichier (user)
- Le groupe du propriétaire (group)
- Les autres utilisateurs, ou le reste du monde (others)
Types de permissions :
- r : permission de lecture
- w : permission d’écriture
- x : permission d’exécution
Correspondances binaire/octal des permissions et leur signification
| Position binaire | Valeur octale | Permissions | Signification |
|---|---|---|---|
| 000 | 0 | - - - | Aucune permission |
| 001 | 1 | - -x | Exécutable |
| 010 | 2 | - w - | Écriture |
| 011 | 3 | - w x | Écriture et exécution |
| 100 | 4 | r - - | Lecture |
| 101 | 5 | r - x | Lecture et exécution |
| 110 | 6 | r w - | Lecture et écriture |
| 111 | 7 | r w x | Lecture, écriture et exécution |
Pour modifier les permissions au format octal, la meilleure façon d’être certain du résultat est d’additionner ces valeurs.
Par exemple : modifier les permissions du fichier « myscript » pour que moi seul (le propriétaire) puisse le modifier, que les personnes de mon groupe puissent le lire et l’exécuter, et que tous les autres puissent seulement l’exécuter :
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | r - x | - - x |
| Position binaire | 111 | 101 | 001 |
| Valeur octale | 7 | 5 | 1 |
Modifier les permissions sur myscript :
sudo chmod 751 myscriptRésumé des différentes valeurs couramment utilisées
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w - | r - - | r - - |
| Position binaire | 110 | 100 | 100 |
| Valeur octale | 6 | 4 | 4 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w - | r w - | r w - |
| Position binaire | 110 | 110 | 110 |
| Valeur octale | 6 | 6 | 6 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | - - - | - - - |
| Position binaire | 111 | 000 | 000 |
| Valeur octale | 7 | 0 | 0 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | - - - | r - x |
| Position binaire | 111 | 000 | 101 |
| Valeur octale | 7 | 0 | 5 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | r - x | r - x |
| Position binaire | 111 | 101 | 101 |
| Valeur octale | 7 | 5 | 5 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | r w - | r - - |
| Position binaire | 111 | 110 | 100 |
| Valeur octale | 7 | 6 | 4 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | r w x | r - - |
| Position binaire | 111 | 111 | 100 |
| Valeur octale | 7 | 7 | 4 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | r w x | r - x |
| Position binaire | 111 | 111 | 101 |
| Valeur octale | 7 | 7 | 5 |
| Type d’utilisateur | Propriétaire | Groupe | Autres |
|---|---|---|---|
| Permissions | r w x | r w x | r w x |
| Position binaire | 111 | 111 | 111 |
| Valeur octale | 7 | 7 | 7 |
Pour modifier les permissions d’un répertoire et de ses sous-répertoires, utilisez la fonction récursive -R Modifier le répertoire /var/www/html/mysite avec les permissions passées à 755 :
sudo chmod -R 755 /var/www/html/mysiteAfficher les permissions d’un répertoire
Les permissions des fichiers d’un répertoire peuvent être affichées avec la commande « ls -l »
Afficher les permissions des fichiers du répertoire /var/www/html/mysite :
ls -l /var/www/html/mysiteFormat des permissions
Le format des permissions est une liste de 10 symboles.
Le 1er symbole est soit « - », soit « l », soit « d », indiquant s’il s’agit :
- d’un fichier (-)
- d’un lien (l)
- ou d’un répertoire (d)
Suivent ensuite les trois groupes de trois symboles de permission (rwx-). Par exemple :
-rw-r--r-- signifie qu’il s’agit d’un fichier avec les permissions réglées à 644
drwx------ signifie qu’il s’agit d’un répertoire avec les permissions réglées à 700
lrwxrwxrwx signifie qu’il s’agit d’un lien avec les permissions réglées à 777
L’intérêt de chown
Pour éviter le chmod 666 (ou pire, 777), chown permet de changer le propriétaire d’un fichier.
Si vous voulez récupérer les droits de propriété sur un dossier entier et que vous êtes l’utilisateur « martin » :
sudo chown -R martin /path/to/folderRécupérer les permissions sur le dossier entier :
sudo chmod -R 755 /path/to/folder