Dev Tools

Calculateur Chmod

Calculez les permissions Unix en notation octale et symbolique. Cochez les cases ou entrez une valeur.

Lire r (4)Écrire w (2)Exécuter x (1)OctalSymboles
Propriétaire7rwx
Groupe5r-x
Autres5r-x

Notation octale

755

chmod 755 fichier

Notation symbolique

rwxr-xr-x

ls -la résultat

Besoin de convertir un timestamp ?

Convertissez des timestamps Unix en dates lisibles et inversement.

Convertir un timestamp

Questions fréquentes

Qu'est-ce que chmod ?

chmod (change mode) est une commande Unix/Linux qui modifie les permissions d'accès des fichiers et répertoires. Les permissions définissent qui peut lire (r), écrire (w) ou exécuter (x) un fichier, séparément pour le propriétaire (owner), le groupe (group) et les autres utilisateurs (others).

Comment lire la notation octale des permissions ?

Chaque chiffre octal représente 3 bits : lecture (4), écriture (2), exécution (1). On additionne les valeurs : 7 = rwx, 6 = rw-, 5 = r-x, 4 = r--, 0 = ---. chmod 755 signifie : propriétaire = rwx (7), groupe = r-x (5), autres = r-x (5). chmod 644 : propriétaire = rw- (6), groupe = r-- (4), autres = r-- (4).

Quelles permissions utiliser pour un fichier web ?

Pour les fichiers HTML/CSS/JS : 644 (rw-r--r--) : le propriétaire peut écrire, les autres lisent. Pour les répertoires : 755 (rwxr-xr-x) : le propriétaire peut tout faire, les autres peuvent lire et traverser.

Pour les scripts PHP sensibles : 600 (rw-------) : uniquement le propriétaire. N'utilisez jamais 777 sur un serveur de production.

Quelle est la différence entre chmod 755 et chmod +x ?

chmod 755 définit des permissions absolues : propriétaire = rwx, groupe = r-x, autres = r-x. chmod +x est une notation relative qui ajoute uniquement le droit d'exécution pour tous sans changer les autres permissions.

Pour les scripts, chmod +x est pratique ; pour les déploiements, la notation octale absolue est plus prévisible.

Comment appliquer chmod récursivement ?

Utilisez l'option -R : chmod -R 755 /var/www/html. Attention : cette commande applique les mêmes permissions aux fichiers ET aux répertoires. Pour distinguer les deux, utilisez find : find /var/www/html -type d -exec chmod 755 {} \; pour les répertoires et find /var/www/html -type f -exec chmod 644 {} \; pour les fichiers.

Chmod calculator : maîtriser les permissions Unix et Linux

Le système de permissions Unix : propriétaire, groupe, autres

Le système de fichiers Unix repose sur un modèle de permissions à trois niveaux. Chaque fichier et répertoire est associé à un propriétaire (owner), un groupe (group) et une catégorie "autres" (others, tous les utilisateurs restants). Pour chaque niveau, trois droits peuvent être accordés ou refusés : lecture (r), écriture (w) et exécution (x).

Ce modèle, défini par la norme POSIX (IEEE Std 1003.1), est à la base de la sécurité de tous les systèmes Unix, Linux et macOS. La commande chmod (change mode) permet de modifier ces permissions, tandis que ls -la les affiche sous forme symbolique.

Valeur octale = lecture (4) + écriture (2) + exécution (1)

La notation octale expliquée

Chaque chiffre octal (0 à 7) encode les trois permissions d'un niveau en additionnant les valeurs : lecture = 4, écriture = 2, exécution = 1. Trois chiffres représentent les droits du propriétaire, du groupe et des autres, dans cet ordre.

Permissions courantes et leurs usages

755 (rwxr-xr-x)
Répertoires web, scripts exécutables
644 (rw-r--r--)
Fichiers HTML, CSS, JS, images
600 (rw-------)
Clés SSH, fichiers .env, secrets
400 (r--------)
Certificats, lecture seule propriétaire
777 (rwxrwxrwx)
Tous les droits (à éviter en production)

Source : IEEE Std 1003.1, chmod(1)

Notation octale vs notation symbolique

Il existe deux façons de spécifier les permissions avec chmod. La notation octale définit les permissions de manière absolue : chmod 755 fichier fixe exactement rwxr-xr-x. La notation symbolique permet des modifications relatives : chmod +x fichier ajoute le droit d'exécution sans toucher aux autres permissions.

Notation octale (absolue)

chmod 755

Définit toutes les permissions d'un coup

Notation symbolique (relative)

chmod u+x

Ajoute ou retire un droit spécifique

Exemple illustré : sécuriser un déploiement web

Lors du déploiement d'un site web sur un serveur Linux, les permissions doivent être définies avec précision pour chaque type de fichier.

1
Répertoires : 755

Le propriétaire peut tout faire, les autres lisent et traversent

find /var/www -type d -exec chmod 755 {} \;
2
Fichiers : 644

Le propriétaire lit et écrit, les autres lisent seulement

find /var/www -type f -exec chmod 644 {} \;
3
Secrets : 600

Seul le propriétaire peut lire et écrire le .env

chmod 600 /var/www/.env

chmod 600

Permission recommandée pour les clés SSH (~/.ssh/id_rsa) et les fichiers contenant des secrets

Jamais 777 en production

La permission 777 (rwxrwxrwx) donne tous les droits à tous les utilisateurs du système. Sur un serveur web, cela signifie que n'importe quel processus peut modifier ou exécuter vos fichiers, créant une faille de sécurité majeure. OpenSSH refuse même de fonctionner si les clés privées ont des permissions trop permissives.

Permissions spéciales : setuid, setgid et sticky bit

Au-delà des 9 bits de permissions standard, trois bits spéciaux existent. Le setuid (4xxx) permet à un exécutable de s'exécuter avec les droits de son propriétaire plutôt que ceux de l'utilisateur qui le lance (exemple : /usr/bin/passwd). Le setgid (2xxx) fait la même chose pour le groupe. Le sticky bit (1xxx), appliqué à un répertoire, empêche les utilisateurs de supprimer les fichiers des autres (exemple : /tmp).

Pour un aperçu complet de votre système de fichiers, la commande stat affiche les permissions en octal et en symbolique. Pour convertir des données CSV exportées par vos scripts d'audit, utilisez notre convertisseur CSV vers JSON.

Bonnes pratiques de sécurité

Le principe du moindre privilège s'applique directement aux permissions de fichiers. Chaque fichier ne devrait avoir que les permissions strictement nécessaires à son fonctionnement. Les fichiers de configuration contenant des secrets (clés API, mots de passe de base de données) doivent être en 600 ou 400. Les répertoires web en 755, les fichiers statiques en 644. Pour vérifier l'intégrité de vos fichiers critiques, générez un hash SHA-256 avec notre générateur de hash.

Astuce umask

La commande umask définit les permissions par défaut des nouveaux fichiers. Un umask de 022 (défaut courant) donne 755 aux répertoires et 644 aux fichiers. Pour un environnement plus restrictif, utilisez umask 077 (permissions 700 et 600).

Erreurs fréquentes à éviter

  • Appliquer chmod -R 755 à tout un répertoire. Les fichiers ordinaires n'ont généralement pas besoin du bit d'exécution. Distinguez les répertoires (755) des fichiers (644) avec find ... -type d et find ... -type f.
  • Utiliser 777 pour "résoudre" un problème de permissions. C'est un contournement dangereux. Identifiez le vrai problème (propriétaire incorrect, groupe manquant) et corrigez-le avec chown et chgrp.
  • Oublier les permissions du répertoire parent. Pour accéder à un fichier, l'utilisateur doit avoir le droit d'exécution (x) sur tous les répertoires du chemin. Un fichier 644 dans un répertoire 700 est inaccessible aux autres.
  • Confondre le bit d'exécution sur fichier et répertoire. Sur un fichier, x signifie "exécutable". Sur un répertoire, x signifie "traversable" (pouvoir cd dedans et accéder au contenu).
  • Ne pas vérifier le propriétaire et le groupe. Les permissions octales ne servent à rien si le fichier appartient au mauvais utilisateur. Vérifiez toujours avec ls -la et corrigez avec chown user:group.

Sources et références

Dev & Tech

Sources : IEEE Std 1003.1 (POSIX) · chmod(1) Linux man page · OWASP · Dernière mise à jour : avril 2026.