Que sont les permissions de fichiers Linux ?

Les permissions de fichiers Linux contrôlent qui peut lire, écrire ou exécuter un fichier ou un répertoire. Chaque fichier sous Linux possède trois groupes de permissions : propriétaire (l'utilisateur qui l'a créé), groupe (les utilisateurs partageant un groupe commun), et autres (tout le monde). Chaque groupe peut se voir accorder trois types d'accès : lecture (r), écriture (w) et exécution (x).

Les permissions peuvent être exprimées selon deux notations. La notation symbolique utilise des lettres comme rwxr-xr-x, où chaque caractère représente une permission spécifique pour un groupe donné. La notation octale (numérique) utilise un nombre à trois ou quatre chiffres comme 755, où chaque chiffre est la somme des valeurs de permission : lecture = 4, écriture = 2, exécution = 1.

Un chiffre de tête optionnel en notation octale représente les bits spéciaux : setuid (4), setgid (2) et sticky bit (1). Le setuid permet à un programme de s'exécuter avec les privilèges du propriétaire du fichier, le setgid fait hériter aux nouveaux fichiers le groupe du répertoire parent, et le sticky bit empêche les utilisateurs de supprimer des fichiers qui ne leur appartiennent pas dans les répertoires partagés.

Description de l'outil

Cet outil vous permet de construire et de décoder les permissions de fichiers Linux de manière interactive. Cochez les cases pour le propriétaire, le groupe et les autres afin de définir les indicateurs de lecture, d'écriture et d'exécution, et visualisez instantanément le résultat en notation octale et symbolique. Vous pouvez également saisir directement une valeur octale comme 755 ou une chaîne symbolique comme rwxr-xr-x, et les cases à cocher ainsi que l'affichage visuel se mettent à jour automatiquement. Un affichage visuel avec code couleur facilite la compréhension des permissions actives en un coup d'œil, et une commande chmod prête à l'emploi est générée automatiquement.

Exemples

Octal Symbolique Signification
755 -rwxr-xr-x Propriétaire : accès complet. Groupe et autres : lecture et exécution.
644 -rw-r--r-- Propriétaire : lecture et écriture. Groupe et autres : lecture seule.
700 -rwx------ Propriétaire : accès complet. Aucun accès pour le groupe ou les autres.
777 -rwxrwxrwx Accès complet pour tout le monde.
1755 -rwxr-xr-t Identique à 755 avec le sticky bit activé.
4755 -rwsr-xr-x Identique à 755 avec le bit setuid activé.

Fonctionnalités

  • Activez individuellement les permissions de lecture, d'écriture et d'exécution par groupe via des cases à cocher
  • Saisissez directement une notation octale (ex. 755) ou symbolique (ex. rwxr-xr-x) et visualisez la conversion instantanée
  • Blocs visuels avec code couleur pour une reconnaissance rapide des permissions actives
  • Prise en charge des bits de permission spéciaux : setuid, setgid et sticky bit
  • Commande chmod générée automatiquement, prête à être copiée et utilisée dans un terminal

Cas d'utilisation

  • Configuration d'un serveur web : Déterminez rapidement les permissions appropriées pour les fichiers servis par Apache ou Nginx, comme 644 pour les fichiers statiques et 755 pour les scripts exécutables.
  • Débogage des erreurs d'accès refusé : Collez la chaîne de permissions issue de la sortie de ls -l pour comprendre visuellement quel groupe n'a pas accès.
  • Apprentissage des permissions Linux : Explorez de manière interactive comment l'activation ou la désactivation de chaque indicateur modifie les représentations octale et symbolique.

Fonctionnement

Chaque type de permission possède une valeur numérique : lecture = 4, écriture = 2, exécution = 1. Le chiffre octal d'un groupe est la somme des valeurs de permission activées. Par exemple, lecture + exécution = 4 + 1 = 5. La notation octale complète concatène les chiffres du propriétaire, du groupe et des autres — ainsi rwxr-xr-x devient 755.

Les bits spéciaux ajoutent un chiffre de tête optionnel calculé de la même manière : setuid = 4, setgid = 2, sticky = 1. Une valeur de 1755 signifie sticky bit (1) plus propriétaire=7, groupe=5, autres=5.

Explication des options

  • Cases à cocher Propriétaire / Groupe / Autres : Activez la lecture (r), l'écriture (w) et l'exécution (x) pour chaque groupe de permissions de manière indépendante.
  • Setuid : Lorsqu'il est défini sur un exécutable, celui-ci s'exécute avec les privilèges du propriétaire du fichier plutôt qu'avec ceux de l'utilisateur qui l'invoque.
  • Setgid : Sur un répertoire, les nouveaux fichiers héritent du groupe du répertoire. Sur un exécutable, il s'exécute avec les privilèges du groupe du fichier.
  • Sticky bit : Sur un répertoire, seul le propriétaire d'un fichier peut le supprimer ou le renommer, même si d'autres utilisateurs disposent de la permission d'écriture.
  • Saisie octale : Entrez un nombre octal à 3 ou 4 chiffres pour définir toutes les permissions en une seule fois.
  • Saisie symbolique : Entrez une chaîne symbolique de 9 ou 10 caractères (avec un préfixe de type de fichier optionnel) pour définir les permissions.

FAQ

Que signifie chmod 777 ? Cela accorde les permissions de lecture, d'écriture et d'exécution au propriétaire, au groupe et à tous les autres utilisateurs. Cette configuration est généralement non sécurisée pour les systèmes en production.

Quelle est la différence entre le s minuscule et le S majuscule ? Le s minuscule signifie que le bit d'exécution et le bit spécial (setuid ou setgid) sont tous deux activés. Le S majuscule signifie que seul le bit spécial est activé, sans permission d'exécution.

À quoi sert le sticky bit ? Le sticky bit est couramment défini sur les répertoires partagés comme /tmp pour empêcher les utilisateurs de supprimer ou de renommer les fichiers des autres, même s'ils disposent tous d'un accès en écriture sur le répertoire.