Calculateur chmod
Permissions de fichiers Unix en octal et en rwx, dans les deux sens.
À propos de cet outil
Cochez lecture, écriture et exécution pour le propriétaire, le groupe et les autres pour obtenir le mode octal et la commande chmod, ou saisissez un mode comme 755 ou rwxr-xr-x pour voir ce qu’il autorise. Gère setuid, setgid et le sticky bit.
Mode d’emploi
- Saisissez un mode comme 755, 0644 ou rwxr-xr-x, ou collez la première colonne de ls -l.
- Ou cochez lecture, écriture et exécution pour le propriétaire, le groupe et tous les autres.
- Ajoutez setuid, setgid ou le sticky bit si vous en avez besoin.
- Saisissez le nom du fichier et copiez la commande chmod.
Questions
- Que signifie chmod 755 ?
- Le propriétaire peut lire, écrire et exécuter ; le groupe et tous les autres peuvent lire et exécuter. C’est le mode habituel pour les scripts, les programmes et les dossiers.
- Quelle est la différence entre 644 et 755 ?
- 644 (rw-r--r--) convient aux fichiers ordinaires : seul le propriétaire peut les modifier et personne ne peut les exécuter. 755 ajoute le droit d’exécution, nécessaire aux programmes pour s’exécuter et aux dossiers pour pouvoir être ouverts.
- Pourquoi ma clé SSH doit-elle être en 600 ?
- SSH refuse les clés privées que d’autres utilisateurs peuvent lire. 600 signifie que vous seul pouvez lire et écrire le fichier, ce qui est exactement ce qu’il vérifie.
- chmod 777 est-il parfois une bonne idée ?
- Rarement. Il permet à n’importe quel utilisateur de la machine de modifier ou remplacer le fichier. Quand quelque chose ne fonctionne qu’avec 777, la vraie solution est généralement le bon propriétaire (chown) ou le bon groupe, pas des permissions plus larges.
- Que signifient les lettres s et t ?
- Un s en position propriétaire ou groupe correspond à setuid ou setgid : le programme s’exécute avec les droits du propriétaire ou du groupe du fichier, ou les nouveaux fichiers d’un dossier héritent de son groupe. t est le sticky bit : dans un dossier partagé comme /tmp, chacun ne peut supprimer que ses propres fichiers.
- Pourquoi chmod affiche-t-il « Operation not permitted » ?
- Seuls le propriétaire du fichier ou root peuvent changer son mode : utilisez sudo ou corrigez d’abord le propriétaire avec chown. Sur FAT, exFAT et de nombreux partages réseau, les permissions ne sont pas stockées du tout et proviennent des options de montage. Sous Linux, un fichier marqué immuable avec chattr +i refuse aussi chmod tant que cet attribut n’est pas retiré.
- Git conserve-t-il les permissions des fichiers ?
- Seulement le bit d’exécution. Git enregistre un fichier en 100644 ou 100755 et ignore tout le reste, y compris le groupe et les autres. Pour rendre un script exécutable depuis Windows, lancez git update-index --chmod=+x script.sh. Si Git signale des changements de mode que vous n’avez pas faits, par exemple sur un lecteur partagé, réglez core.fileMode sur false pour ce dépôt.
- Quelle est la différence entre chmod et chown ?
- chmod change ce que le propriétaire, le groupe et les autres peuvent faire d’un fichier. chown change qui sont le propriétaire et le groupe, comme dans sudo chown www-data:www-data uploads. Quand un service ne peut pas écrire quelque part, attribuer le dossier à l’utilisateur ou au groupe du service est plus sûr que d’élargir le mode pour tout le monde.
Comment fonctionnent les nombres de chmod ?
Chaque permission a une valeur : la lecture vaut 4, l’écriture 2 et l’exécution 1. Additionnez-les pour obtenir un chiffre : 7 signifie rwx, 6 rw- et 5 r-x. Un mode compte trois chiffres, pour le propriétaire, le groupe et tous les autres, dans cet ordre. C’est pourquoi chmod 640 donne au propriétaire la lecture et l’écriture, au groupe la lecture seule, et rien aux autres. Le Convertisseur de bases numériques affiche chaque chiffre sous forme de trois bits.
Un quatrième chiffre placé devant définit les bits spéciaux : 4 pour setuid, 2 pour setgid et 1 pour le sticky bit, si bien que chmod 2775 équivaut à 775 plus setgid. Dans la première colonne de ls -l, le premier caractère indique le type de fichier (d pour un dossier, l pour un lien symbolique, - pour un fichier ordinaire), suivi de neuf lettres de permissions. Un S ou un T majuscule signifie que le bit spécial est activé mais pas l’exécution, ce qui est généralement une erreur.
chmod : nombres ou lettres (mode symbolique) ?
Les nombres définissent toujours les neuf bits d’un coup : chmod 644 file remplace ce qui était en place. Les lettres peuvent modifier un seul élément et conserver le reste. chmod u+x deploy.sh ajoute l’exécution pour le propriétaire, chmod go-w file retire l’écriture au groupe et aux autres, et = définit une liste exacte, comme dans chmod o= secret.txt. Chaque résultat est affiché ici sous les deux formes, par exemple chmod 755 file et chmod u=rwx,g=rx,o=rx file.
Quand vous omettez u, g, o ou a, chmod applique la modification à tout le monde, mais ignore les bits bloqués par votre umask. Le umask détermine aussi le mode des nouveaux fichiers : avec le umask courant 022, les nouveaux fichiers reçoivent 644 et les nouveaux dossiers 755. Lancez umask pour voir le vôtre. Si vos collègues créent sans cesse des fichiers que le groupe ne peut pas modifier, la solution est généralement un umask de 002, et non un chmod -R après coup.
Comment appliquer chmod différemment aux dossiers et aux fichiers ?
chmod -R 755 dir rend tous les fichiers exécutables, ce qui est rarement souhaité. Utilisez plutôt un X majuscule : chmod -R u=rwX,go=rX dir n’accorde l’exécution qu’aux dossiers et aux fichiers qui étaient déjà exécutables. Pour obtenir strictement des dossiers en 755 et des fichiers en 644, faites deux passes : find dir -type d -print0 | xargs -0 chmod 755, puis la même chose avec -type f et 644.
Un « Permission denied » sur un fichier qui semble lisible vient généralement d’un dossier parent. Pour ouvrir un chemin, il faut la permission d’exécution sur chaque dossier traversé, et la permission de lecture pour lister le contenu d’un dossier. Un fichier en 644 dans un dossier en 700 reste privé pour le propriétaire. Sous Linux, namei -l /path/to/file affiche le mode de chaque élément du chemin, ce qui permet de repérer le dossier qui bloque l’accès.
Permissions chmod courantes
Les modes que vous rencontrerez le plus souvent, ce que chacun autorise et où il est utilisé.
| Mode | rwx | Qui peut faire quoi | Usage typique |
|---|---|---|---|
chmod 755 | rwxr-xr-x | Le propriétaire peut lire, écrire et exécuter. Le groupe peut lire et exécuter. Les autres peuvent lire et exécuter. | Scripts, programmes et dossiers que les autres peuvent ouvrir |
chmod 644 | rw-r--r-- | Le propriétaire peut lire et écrire. Le groupe peut lire. Les autres peuvent lire. | Fichiers ordinaires : tout le monde peut les lire, vous seul pouvez les modifier |
chmod 600 | rw------- | Le propriétaire peut lire et écrire. Le groupe ne peut rien faire. Les autres ne peuvent rien faire. | Fichiers privés comme les clés SSH et les fichiers .env |
chmod 700 | rwx------ | Le propriétaire peut lire, écrire et exécuter. Le groupe ne peut rien faire. Les autres ne peuvent rien faire. | Dossiers privés et scripts que vous seul pouvez exécuter |
chmod 775 | rwxrwxr-x | Le propriétaire peut lire, écrire et exécuter. Le groupe peut lire, écrire et exécuter. Les autres peuvent lire et exécuter. | Dossiers dans lesquels un groupe travaille ensemble |
chmod 664 | rw-rw-r-- | Le propriétaire peut lire et écrire. Le groupe peut lire et écrire. Les autres peuvent lire. | Fichiers qu’un groupe modifie ensemble |
chmod 750 | rwxr-x--- | Le propriétaire peut lire, écrire et exécuter. Le groupe peut lire et exécuter. Les autres ne peuvent rien faire. | Programmes et dossiers réservés à vous et à votre groupe |
chmod 640 | rw-r----- | Le propriétaire peut lire et écrire. Le groupe peut lire. Les autres ne peuvent rien faire. | Fichiers de configuration que le groupe d’un service peut lire |
chmod 444 | r--r--r-- | Le propriétaire peut lire. Le groupe peut lire. Les autres peuvent lire. | Fichiers en lecture seule que personne ne doit modifier |
chmod 777 | rwxrwxrwx | Le propriétaire peut lire, écrire et exécuter. Le groupe peut lire, écrire et exécuter. Les autres peuvent lire, écrire et exécuter. | Tout le monde peut tout faire : à éviter hors des tests jetables |
Quelque chose ne fonctionne pas, ou un résultat semble faux ? Signaler un problème avec cet outil