Calculateur Chmod

Classe Lire (r) Écrire (w) Exécuter (x)
Propriétaire
Groupe
Autres
Suivant

Les permissions de fichiers Unix se présentent sous la forme de trois triplets, lecture, écriture, exécution pour l’utilisateur, le groupe, les autres, qui se regroupent parfaitement en un nombre octal à trois chiffres. chmod 755 script.sh est rwxr-xr-x : le propriétaire a tout, le groupe et les autres ont lecture et exécution. Ce calculateur vous permet de basculer chaque case à cocher et de voir le changement octal en direct, ou de coller un nombre octal et de voir la répartition rwx, avec la commande chmod exacte prête à être copiée.

Comment fonctionnent les permissions chmod

  1. 1

    Basculez les 9 bits de permission

    Trois groupes (utilisateur, groupe, autres) × trois permissions (lecture, écriture, exécution) = 9 cases à cocher.

  2. 2

    Chaque groupe devient un chiffre octal

    Lecture = 4, écriture = 2, exécution = 1. Additionnez les bits que vous souhaitez activer.

  3. 3

    Lisez la forme octale et symbolique résultante

    par ex. 755 → rwxr-xr-x ; 644 → rw-r--r-- ; 600 → rw-------.

  4. 4

    Copiez la commande chmod

    L'outil affiche la commande chmod pour les permissions actuelles, prête à être copiée. Exemples : chmod 755 nom_fichier, chmod u+x nom_fichier, chmod -R 755 répertoire.

Valeurs des bits de permission

Bit Valeur Signification pour les fichiers Signification pour les répertoires
Lecture 4 Peut voir le contenu Peut lister les entrées
Écriture 2 Peut modifier Peut créer / supprimer / renommer des entrées
Exécution 1 Peut s’exécuter en tant que programme Peut traverser (cd dans, accéder à l’intérieur)

Valeurs chmod courantes

Octal Symbolique Utilisation typique
777 rwxrwxrwx Modifiable par tout le monde, dangereux ; rarement correct
755 rwxr-xr-x Scripts, binaires, répertoires
750 rwxr-x--- Scripts privés pour vous et votre groupe
700 rwx------ Scripts privés pour vous (SSH, ~/.ssh)
644 rw-r--r-- Documents publics, images, HTML
640 rw-r----- Configurations lisibles par le groupe
600 rw------- Configurations privées, clés privées SSH, ~/.netrc
444 r--r--r-- Fichiers publiés en lecture seule
400 r-------- Lecture seule privée (rarement correct ; utilisez 600)

Permissions spéciales (rares mais importantes)

  • setuid (4xxx) : exécute le fichier en tant que propriétaire, peu importe qui l’exécute. /usr/bin/passwd utilise cela.
  • setgid (2xxx) : sur les fichiers, s’exécute en tant que groupe. Sur les répertoires, les nouveaux fichiers héritent du groupe du répertoire.
  • bit collant (1xxx) : sur les répertoires, seul le propriétaire du fichier peut supprimer/renommer. /tmp utilise cela.

Les octaux à quatre chiffres incluent ceux-ci : chmod 4755 binaire-setuid active setuid avec 755.

Chmod symbolique

De nombreux administrateurs préfèrent la forme symbolique pour des changements incrémentaux :

  • chmod u+x script, ajoute l’exécution uniquement pour le propriétaire.
  • chmod go-w fichier, supprime l’écriture pour le groupe et les autres.
  • chmod a+r fichier, donne la lecture à tous (utilisateur, groupe, autres).
  • chmod u=rw,go=r fichier, définit exactement ces bits.
  • chmod -R 755 répertoire, récursif.

Erreurs courantes

  • 777 sur les dossiers d’upload : semble “corriger les permissions” ; ouvre en réalité le serveur aux attaquants. Utilisez une combinaison plus restrictive (par ex. 755 avec la bonne appartenance de groupe).
  • chmod -R 644 sur les répertoires : supprime l’exécution sur les répertoires, donc vous ne pouvez pas cd dedans. Utilisez 755 pour les répertoires, 644 pour les fichiers réguliers.
  • 0600 vs 600 : le zéro initial indique octal en C et shell ; la plupart des implémentations de chmod acceptent les deux.
  • Umask : les nouveaux fichiers héritent de 666 moins l’umask. L’umask par défaut 022 donne des fichiers 644 et des répertoires 755.

Questions fréquentes

Vous souhaitez généralement que le propriétaire puisse modifier, et que tout le monde puisse lister et traverser. 755 = rwx pour le propriétaire, r-x pour le groupe et les autres, exactement cette combinaison.

Presque jamais. 777 permet à quiconque sur le système de modifier le fichier. Dans les systèmes multi-utilisateurs, c’est une faille de sécurité ; dans les systèmes mono-utilisateurs, c’est inutile (le propriétaire a déjà rwx avec 755). Si une application web semble nécessiter 777, la véritable solution est la bonne propriété (chown) ou l’appartenance au groupe.

~/.ssh répertoire : 700. Clés privées (id_rsa, id_ed25519) : 600. Clés publiques (.pub) : 644. authorized_keys : 600. SSH refuse les clés avec des permissions plus larges par mesure de sécurité.

chown pour le propriétaire, chgrp pour le groupe, commandes séparées. chmod ne change que les bits, pas l’utilisateur/groupe propriétaire du fichier.

Outils similaires