Comment vérifier les permissions d’un fichier sous Linux ?
Linux est l’un des systèmes d’exploitation les plus populaires qui alimentent les serveurs VPS, les plateformes d’hébergement web et les machines virtuelles dans le monde entier. Au cœur de la sécurité de Linux se trouve son système de permissions sur les fichiers – des règles qui définissent qui peut lire, modifier ou exécuter un fichier. Il est essentiel de savoir comment vérifier les autorisations sous Linux pour gérer un serveur virtuel, mettre en place des environnements d’hébergement sécurisés ou travailler à l’intérieur d’une machine virtuelle.
Les bases des permissions de fichiers
Chaque fichier et répertoire sous Linux possède trois types de permissions :
- Lire (r) → voir le contenu d’un fichier ou répertorier un répertoire.
- Ecriture (w) → modifier ou supprimer un fichier, ajouter ou supprimer des fichiers dans un répertoire.
- Exécuter (x) → exécuter un fichier (s’il s’agit d’un programme) ou entrer dans un répertoire.
Ces autorisations s’appliquent à trois catégories d’utilisateurs :
- Propriétaire (utilisateur) → généralement le créateur du fichier.
- Groupe → utilisateurs appartenant au groupe du fichier.
- Autres → tout le monde.
Vérification des autorisations avec ls -l
La méthode la plus simple consiste à utiliser la commande ls -l :
Exemple de sortie :
- -rw-r–r– → permissions
- utilisateur → propriétaire
- group → groupe
- file.txt → nom du fichier
Ici, -rw-r–r– signifie :
- Propriétaire : lecture, écriture
- Groupe : lecture
- Autres : lecture
Informations détaillées avec stat
Pour plus de détails, utilisez :
Exemple :
Les autorisations se présentent désormais sous deux formes : symbolique (-rw-r–r–) et numérique (0644).
Comprendre les valeurs numériques
Les autorisations peuvent être représentées par des nombres :
- Lecture = 4
- Écriture = 2
- Exécuter = 1
En les additionnant, on obtient la valeur de la permission :
- rw- = 6
- r-x = 5
- rwx = 7
Donc 0644 = Propriétaire : 6 (lecture/écriture), Groupe : 4 (lecture), Autres : 4 (lecture).
Autorisations pour les répertoires
Pour les répertoires, les règles sont légèrement différentes :
- r → énumérer les noms des fichiers.
- w → créer ou supprimer des fichiers (si x est également défini).
- x → entrer dans le répertoire.
Exemple
Ici, le propriétaire a tous les droits, le groupe peut lire/entrer et les autres n’ont pas d’accès.
Bits de permission spéciaux
Linux prend également en charge les autorisations avancées :
- setuid (s) → exécuter le fichier avec les privilèges du propriétaire.
- setgid (s) → exécuter le fichier avec les privilèges du groupe.
- sticky bit (t) → dans les répertoires, seul le propriétaire du fichier peut supprimer ses fichiers (courant dans /tmp).
Exemple :
Le t à la fin signifie “sticky bit”.
Tableau de référence rapide
Symbolique | Numérique | Signification (Fichier) | Signification (Répertoire) |
---|---|---|---|
— | 0 | Pas d’accès | Pas d’accès |
–x | 1 | Exécuter | Entrer |
-w- | 2 | Écrire | Créer/supprimer (avec x) |
-wx | 3 | Écriture + exécution | Modifier + entrer |
r– | 4 | Lire | Liste des noms (avec x) |
r-x | 5 | Lire + exécuter | Liste + entrée |
rw- | 6 | Lecture + écriture | Visualiser + modifier le contenu |
rwx | 7 | Accès complet | Contrôle total |
Exemples fréquents
- -rw-r–r– (0644) → le propriétaire peut lire/écrire ; les autres ne peuvent que lire.
- -rwxr-xr-x (0755) → le propriétaire peut tout faire ; les autres peuvent exécuter mais pas modifier.
- drwxrwxrwt (1777) → dossier inscriptible dans le monde entier avec un bit collant (comme /tmp).
Conclusion
Pour vérifier les permissions des fichiers sous Linux :
- Utilisez ls -l pour un aperçu rapide.
- Utilisez stat pour un affichage détaillé.
- Apprenez à lire les notations symboliques (rwx) et numériques (755, 644).
- Rappelez-vous que les répertoires suivent les mêmes règles mais interprètent x différemment.
Une fois que vous aurez compris ces principes de base, les permissions deviendront un élément puissant et facile à lire de la sécurité Linux.