Encoders & Utilities

Calculateur Chmod

Conversion entre permissions UNIX numériques et symboliques.

Permissions Type octal (e.g. 755 or 4755) or symbolic (rwxr-xr-x).
-rwx------
chmod 0700
Octal
0700
Symbolic
-rwx------
Binary
111 000 000
Permission matrix
Read
Write
Execute
Owner
r
w
x
Group
·
·
·
Other
·
·
·
Special bits
setuid
Run as file owner. Common on /usr/bin/passwd.
setgid
Inherit group on directories. Used in shared folders.
sticky
Only owner can delete. Used on /tmp.

À propos de cet outil

Chmod Calculator traduit entre les trois façons d'exprimer les permissions de fichier UNIX : octal (755, 644), symbolique (rwxr-xr-x, rw-r--r--) et mode symbolique (u=rwx,go=rx, la forme que chmod lui-même accepte en entrée). Cliquez sur les cases lecture/écriture/exécution pour propriétaire/groupe/autres et les trois représentations se mettent à jour en synchronisation, avec la commande chmod équivalente prête à copier.

Les bits spéciaux sont également pris en charge : setuid (4000), setgid (2000) et sticky (1000) — les bits qui transforment /tmp en un répertoire partagé accessible en écriture où les utilisateurs ne peuvent pas supprimer les fichiers des autres (sticky), et qui permettent aux binaires comme passwd d'élever les privilèges (setuid). L'affichage annote chacun avec son implication de sécurité afin que vous sachiez ce que vous êtes sur le point d'appliquer.

Quand utiliser cet outil

  • Renforcer les arborescences de fichiers de serveur web. Confirmez 644 pour les fichiers et 755 pour les répertoires avant de changer quoi que ce soit dans chmod -R.
  • Résoudre les erreurs « permission denied ». Décodez le résultat de ls -l en octal pour comparer avec ce que votre application attend.
  • Configurer des répertoires partagés. Obtenez la bonne combinaison de bit sticky (1777) pour un dossier d'upload multi-utilisateurs.
  • Apprendre les permissions UNIX. Les cases interactives sont le moyen le plus rapide de comprendre comment l'octal correspond à rwx.

À propos de umask et des permissions par défaut

Le umask est l'inverse de la sortie du calculateur — il indique au noyau quels bits désactiver lors de la création d'un nouveau fichier ou répertoire. Un umask 022 courant vous donne par défaut des fichiers 644 et des répertoires 755 ; un umask 077 plus strict donne des fichiers 600 et des répertoires 700 (privés au propriétaire). Choisir le bon umask à l'échelle du système est plus efficace que de chmod chaque fichier individuellement.

Questions fréquentes

Quelle est la différence entre 644 et 755 ?

644 est « le propriétaire lit/écrit, tout le monde ne fait que lire » — la bonne valeur par défaut pour les fichiers statiques (HTML, CSS, images). 755 ajoute l'exécution pour tout le monde, ce qui n'a aucun sens pour les fichiers statiques mais est essentiel pour les répertoires (sans exécution sur un répertoire, vous ne pouvez pas y faire cd) et pour les scripts/binaires. La règle empirique : 644 pour les fichiers, 755 pour les répertoires.

Que fait réellement setuid ?

Il indique au noyau « quand ce binaire s'exécute, exécute-le en tant que propriétaire du fichier, pas en tant qu'utilisateur l'invoquant ». /usr/bin/passwd a setuid root afin qu'un utilisateur ordinaire puisse changer son mot de passe (ce qui nécessite d'écrire dans /etc/shadow). C'est une permission puissante mais dangereuse ; seuls les binaires système devraient l'avoir, jamais les scripts utilisateur. Les scripts shell ignorent setuid pour des raisons de sécurité dans UNIX moderne.

Pourquoi l'exécution est-elle nécessaire sur les répertoires ?

Sur un répertoire, le bit d'exécution signifie « vous pouvez entrer (traverser) ce répertoire ». Sans exécution vous ne pouvez pas faire cd dans le dossier, lister son contenu (avec ls la lecture est aussi nécessaire), ni lire les fichiers à l'intérieur même si ces fichiers ont la permission de lecture. Un répertoire en mode lecture seule (444) est cassé — vous pouvez voir les noms mais vous ne pouvez en faire stat aucun.

À quoi sert le bit sticky ?

Sur un répertoire, il signifie « seul le propriétaire du fichier (ou root) peut le supprimer ou le renommer ». /tmp utilise 1777 — tout le monde peut écrire, mais vous ne pouvez supprimer que vos propres fichiers. Sans sticky, n'importe qui pourrait faire rm sur les fichiers temporaires des autres. Le bit provient d'un usage hérité sur les exécutables (gardait le texte en swap), maintenant obsolète sur les fichiers ; sur les répertoires il est toujours très utile.