À quoi ça sert
Le calculateur chmod convertit les permissions de fichiers Unix et Linux entre les trois façons de les écrire : une grille de cases lecture, écriture et exécution, un nombre octal comme 755 et une chaîne symbolique comme rwxr-xr-x. Il écrit aussi la commande chmod correspondante en octal et en symbolique, explique qui peut faire quoi et gère les bits spéciaux setuid, setgid et sticky. Tout se passe dans votre navigateur.
Mode d’emploi
- Cochez les cases du propriétaire, du groupe et des autres, ou saisissez un mode dans le champ. Il accepte l’octal (
644,0644,4755), les chaînes au formatls -l(rw-r--r--ou-rw-r--r--avec le type de fichier devant) et les expressions chmod commeu=rwx,g=rx,o=oua+x. - Les cases et les résultats suivent votre saisie, et cocher une case réécrit le mode dans la même notation.
- Indiquez le nom du fichier dans Options et activez Récursif (-R) pour appliquer le mode à toute une arborescence. Copiez la commande en un clic.
Modes courants
chmod 755 deploy.sh # rwxr-xr-x
chmod 644 index.html # rw-r--r--
chmod 600 ~/.ssh/id_ed25519 # rw-------
chmod 1777 /tmp # rwxrwxrwt
- 755 pour les répertoires, scripts et programmes : le propriétaire peut les modifier, tout le monde peut les lire et les exécuter.
- 644 pour les fichiers ordinaires comme les pages web et les images.
- 600 pour les fichiers privés comme les clés SSH et les fichiers
.env: seul le propriétaire peut les lire. SSH refuse les clés lisibles par d’autres. - 700 pour les répertoires privés et 775/664 quand un groupe d’utilisateurs partage un projet.
Comment fonctionnent les chiffres
Chaque catégorie d’utilisateurs reçoit un chiffre octal obtenu en additionnant lecture = 4, écriture = 2 et exécution = 1. Sur un répertoire, la lecture permet de lister les noms, l’écriture de créer et supprimer des fichiers à l’intérieur, et l’exécution d’y entrer ou d’accéder aux fichiers qu’il contient.
Un chiffre de tête facultatif contient les bits spéciaux : setuid = 4, setgid = 2, sticky = 1. En notation symbolique, ils remplacent la lettre d’exécution : s pour setuid et setgid, t pour sticky. Un S ou un T majuscule signifie que le bit spécial est posé sans l’exécution, ce qui est presque toujours une erreur.
Le calculateur affiche aussi l’umask équivalent, c’est-à-dire les bits qu’un umask par défaut retire de 777 pour obtenir le mode. Un umask de 022 donne des répertoires en 755 et des fichiers en 644.
FAQ
› Que signifie chmod 755 ?
Chaque chiffre correspond à une catégorie d’utilisateurs : propriétaire, groupe et autres. 7 = lecture (4) + écriture (2) + exécution (1) ; 5 = lecture + exécution. 755 permet donc au propriétaire de tout faire et aux autres de lire et d’exécuter le fichier, ce qui s’écrit rwxr-xr-x. C’est le mode habituel des scripts et des répertoires.
› Quelle différence entre 644 et 755 ?
644 (rw-r--r--) n’a pas de bit d’exécution : il convient aux fichiers ordinaires comme le HTML, les images ou la configuration. 755 ajoute l’exécution pour tous, nécessaire pour lancer un programme ou entrer dans un répertoire.
› Pourquoi chmod 777 est-il une mauvaise idée ?
777 autorise n’importe quel utilisateur du système à modifier ou remplacer le fichier. Sur un serveur web, n’importe quel processus compromis peut alors réécrire votre code. Corrigez plutôt le propriétaire avec chown et utilisez 755 pour les répertoires et 644 pour les fichiers.
› Que sont setuid, setgid et le sticky bit ?
Ils forment un quatrième chiffre octal placé en tête. setuid (4) fait tourner un programme sous l’identité de son propriétaire, setgid (2) sous celle de son groupe, ou fait hériter le groupe aux nouveaux fichiers d’un répertoire, et le sticky bit (1) empêche de supprimer les fichiers des autres dans un répertoire partagé comme /tmp. Dans la sortie de ls, ils apparaissent sous forme de s et t à la place de l’exécution.