Outils
Guides

Calculateur de permissions chmod

Dév

Convertissez entre octal chmod, symbolique et une matrice de permissions 3×3 — en direct, synchronisé à trois voies.

100 % côté client Sans backend

Les URL distantes ne sont pas récupérées ; collez votre JSON directement.

Bits de permission
lecture (4) écriture (2) exécution (1) Chiffre
Propriétaire
0
Groupe
0
Autres
0
Bits spéciaux (préfixe)
$ chmod 0000 file
Symbolique: a=
Sur cette page

Qu’est-ce qu’un calculateur chmod ?#

chmod est la commande Unix qui règle les permissions de lecture, d’écriture et d’exécution sur un fichier ou un répertoire. Son modèle de permission comporte trois groupes — propriétaire, groupe, autre — chacun avec trois bits on/off : lecture (4), écriture (2), exécution (1), qui somment en un seul chiffre de 0 à 7. Empilez les trois chiffres et vous obtenez le mode octal que vous saisissez en ligne de commande : 755 signifie « propriétaire lecture+écriture+exécution (7), groupe lecture+exécution (5), autre lecture+exécution (5) ». Il y a aussi un quatrième chiffre spécial facultatif en préfixe pour setuid, setgid et le sticky bit.

Si un calculateur est réellement utile ici, c’est à cause de la triple équivalence entre la matrice de permissions (les cases que vous cochez dans un gestionnaire de fichiers), le nombre octal (755) et la chaîne symbolique (rwxr-xr-x, ce qu’affiche ls -l). La plupart des gens apprennent bien l’une de ces représentations et trébuchent sur les deux autres. Cette page garde les trois synchronisées : modifiez l’une, les deux autres se mettent à jour instantanément, et la ligne de commande chmod correspondante est assemblée pour vous.

Cela compte, parce qu’un bit de permission erroné est l’une des façons les plus courantes de casser un déploiement — un répertoire que le serveur web ne peut pas lire, une clé privée trop ouverte que SSH rejette, un exécutable qui a perdu son bit x. Lire 755 et savoir que cela signifie « lisible par tous, le groupe et les autres peuvent traverser mais pas écrire » est une compétence que cet outil entraîne en montrant la traduction en direct.

Comment l’utiliser#

  1. Partez de la représentation que vous avez déjà :
    • Cochez les cases dans la matrice de permissions (3 rangées : propriétaire/groupe/autre, 3 colonnes : lecture/écriture/exécution). La colonne Chiffre à droite de chaque rangée affiche la valeur 0–7 du groupe au fur et à mesure.
    • Ou saisissez une valeur Octale (1–4 chiffres, préfixe 0o accepté, par ex. 755, 0644, 0o600).
    • Ou saisissez une valeur Symbolique (rwxr-xr-x, la forme à virgules rwx,r-x,r-x, ou une clause chmod comme u=rw,go=r).
  2. Si vous avez besoin de bits spéciaux, cochez setuid, setgid ou sticky dans le groupe de champs Bits spéciaux. Ils occupent l’emplacement exécution de leur propriétaire dans la forme symbolique : s/S pour setuid/setgid, t/T pour sticky.
  3. Lisez la carte de résultat :
    • La ligne de commande assemblée, $ chmod <octal> file, prête à copier.
    • La forme symbolique, par ex. u=rwx,go=rx.
    • Un découpage par groupe montrant le chiffre de chaque acteur et ses droits lecture/écriture/exécution.
  4. Cliquez sur Copier pour récupérer la ligne de commande.
  5. La ligne d’état confirme l’analyse ou signale une entrée octale ou symbolique invalide.

Fonctionnalités clés#

  • Synchronisation triple en direct. Matrice, octal et symbolique s’actualisent mutuellement, donc vous saisissez ce que vous savez et lisez ce dont vous avez besoin.
  • Bits spéciaux gérés correctement. setuid, setgid et le sticky bit sont traités sans perte, y compris la notation minuscule/majuscule d’emplacement exécution (s vs S, t vs T) qu’utilise ls.
  • Octal canonique à 4 chiffres. La sortie est toujours à 4 chiffres (0755, 4755, 0000), comme chmod et stat affichent les modes — jamais une forme ambiguë à 3 chiffres quand des bits spéciaux sont posés.
  • Symbolique en forme de clause. Émet la forme d’affectation absolue qu’accepte le shell (u=rw,go=rx), fusionne les groupes adjacents identiques pour la concision, et ajoute les bits spéciaux comme u+s / g+s / +t.
  • Analyse d’entrée tolérante. Accepte 755, 0644, 0o600, le pictogramme à 9 caractères, la variante à virgules, et les clauses chmod (u=rwx,go=rx, u+rwx,go-w).

Exemple commenté#

Le mode le plus courant sur un répertoire web déployé. Saisissez 755 dans le champ Octal. La matrice coche propriétaire lecture+écriture+exécution, groupe lecture+exécution, autre lecture+exécution ; le champ symbolique affiche rwxr-xr-x ; et la carte de résultat indique :

$ chmod 755 file
Symbolic: u=rwx,go=rx

avec le découpage listant propriétaire 7 (lecture, écriture, exécution), groupe 5 (lecture, exécution), autre 5 (lecture, exécution). C’est le mode standard pour les répertoires et les scripts exécutables : le propriétaire peut tout faire, tout le reste peut lire et traverser mais pas modifier.

Comparez maintenant avec 644 — le mode sûr pour un fichier servible ordinaire. Le symbolique devient rw-r--r--, et la commande est $ chmod 644 file : le propriétaire peut lire et écrire, le groupe et autre seulement lire, et surtout personne n’a exécution (donc un fichier téléchargé ne s’exécutera pas par accident). Pour une clé SSH privée, vous saisiriez 600 (rw-------), le seul mode que ssh acceptera.

Un exemple avec bit spécial : un binaire qui doit s’exécuter avec les privilèges de son propriétaire. Saisissez 4755 et l’emplacement symbolique devient rwsr-xr-x — notez le s à la position exécution du propriétaire, qui marque setuid. La ligne de commande indique $ chmod 4755 file, et le 4 de tête est le chiffre spécial de préfixe (setuid = 4) que la forme à 3 chiffres ne peut pas exprimer — c’est justement pourquoi cet outil émet toujours quatre chiffres.

FAQ#

Quelle est la différence entre 755 et 0755 ?#

En ligne de commande, elles sont équivalentes — chmod 755 et chmod 0755 produisent le même mode, parce que le 0 de tête signifie simplement « aucun bit spécial ». Cet outil affiche toujours quatre chiffres (0755) pour que la position des bits spéciaux soit visible et cohérente avec la façon dont stat et ls rapportent les modes. Quand vous copiez la ligne de commande, la forme conventionnelle $ chmod 755 file est utilisée parce que c’est ce que les gens saisissent.

Que signifient s, S, t et T dans la sortie symbolique ?#

Ce sont les bits spéciaux occupant un emplacement exécution. Le s minuscule (en position propriétaire ou groupe) signifie setuid/setgid et que l’exécution est on ; le S majuscule signifie que le bit est posé mais exécution off. Le t minuscule (en position autre) signifie sticky et exécution on ; le T majuscule signifie sticky posé, exécution off. Cette convention « majuscule = pas d’exécution » est comment ls distingue les deux états sans colonne supplémentaire.

Dois-je utiliser octal ou symbolique quand j’exécute réellement chmod ?#

Les deux fonctionnent, mais se comportent différemment. Octal (chmod 755 file) règle le mode absolument — chaque bit est réglé exactement à ce que vous avez tapé. Symbolique (chmod u+x file) édite le mode courant — il ne change que les bits que vous mentionnez et laisse le reste. Utilisez octal quand vous voulez un état final connu (scripts de déploiement, Dockerfiles) ; utilisez symbolique quand vous voulez pousser une permission sans déranger les autres.

Pourquoi SSH refuse-t-il ma clé privée avec une erreur « bad permissions » ?#

Parce que ssh exige que les clés privées soient en mode 0600 (lecture/écriture propriétaire uniquement) et rejette toute chose plus ouverte comme non sûre. Si votre clé est en 0644 ou si elle a l’écriture groupe/autre, ssh la considère comme falsifiable et refuse de l’utiliser. Réglez-la avec $ chmod 600 id_ed25519 et l’erreur disparaît. Vous pouvez vérifier ici le mode exact avant de lancer la commande.