Aller au contenu

chmod 777: ce que ce mode signifie et quand l’utiliser

S’exécute dans votre navigateur — rien de ce que vous collez ne quitte cette page. Comment nous le prouvons

Playground du calculateur chmod

Examples
Permission bits
Read
Write
Exec
Owner
Group
Other
Enter a value

The matrix, octal and symbolic fields all stay in sync — edit any one and the others follow.

Results update as you type — press Enter to run now.

fig. 29 — chmod-calculator · utilities 777 · rwxrwxrwx · file
Output
Octal777
Symbolicrwxrwxrwx
ls -l-rwxrwxrwx
Commandchmod 777 file

`chmod 777 file` applique le mode `rwxrwxrwx` : tout utilisateur du système peut lire, modifier et exécuter le fichier. Ce n’est presque jamais la bonne solution ; la valeur plus sûre est en général 755 ou 644.

Ce que signifie chmod 777

Dans 777, le premier chiffre désigne le propriétaire, le deuxième le groupe et le troisième tous les autres. Propriétaire : lecture, écriture et exécution ; groupe : lecture, écriture et exécution ; autres : lecture, écriture et exécution.

ls -l l’affiche sous la forme -rwxrwxrwx. Chaque 7 vaut 4 + 2 + 1 — lecture plus écriture plus exécution — donc aucune classe n’est exclue. Sur un répertoire, les mêmes bits permettent à n’importe quel compte de le lister, d’y entrer et d’y créer, renommer ou supprimer des entrées, y compris des fichiers qui appartiennent à quelqu’un d’autre.

Pourquoi 777 pose un problème de sécurité

Un fichier modifiable par tous peut être remplacé par n’importe quel processus local, y compris un serveur web compromis qui tourne sous www-data ou nginx. Si ce fichier est un script lancé par cron ou par un hook de déploiement, quiconque peut l’écrire peut exécuter du code sous le compte qui l’appelle. Un répertoire modifiable par tous permet à chaque utilisateur de déposer des fichiers dans un chemin auquel un autre programme fait confiance.

Un espace partagé comme /tmp est modifiable par tous à dessein, mais en mode 1777 et non 777 : le sticky bit supplémentaire fait que chacun ne peut supprimer que ses propres fichiers. Un répertoire en 777 simple n’offre pas cette protection.

Quand on y recourt, et que faire à la place

777 apparaît le plus souvent après un « Permission denied » d’une application web ou d’un volume de conteneur. La vraie cause est presque toujours la propriété : le processus tourne sous un autre utilisateur que le propriétaire des fichiers. Corrigez-la avec chown vers le compte de service, ou en ajoutant ce compte au groupe du fichier et en donnant l’écriture au groupe, plutôt qu’en ouvrant le fichier à tous.

Pour du code et des répertoires qu’un serveur doit seulement lire, le couple habituel est 755 pour les répertoires et 644 pour les fichiers. Un chmod -R 777 récursif rend en plus chaque fichier exécutable ; réparez par type avec find dir -type d -exec chmod 755 {} + puis find dir -type f -exec chmod 644 {} +.

FAQ

Vos questions, nos réponses.

Appuyez sur une question pour afficher la réponse.

Rarement, et seulement sur une machine jetable à utilisateur unique. Pour un espace partagé, utilisez 1777 afin que le sticky bit empêche les utilisateurs de supprimer les fichiers des autres. Sur un serveur ou dans une image de conteneur, corrigez plutôt la propriété.

Oui. Les trois classes reçoivent le bit d’exécution, donc n’importe quel utilisateur peut lancer le fichier comme programme s’il s’agit d’un binaire valide ou d’un script avec une ligne shebang. Une raison de plus de ne pas l’appliquer à toute une arborescence.

More free, private DevOps tools.

Le chmod Calculator est l’un des outils de OpsCanopy — une canopée grandissante de validateurs, convertisseurs et testeurs basés sur le navigateur qui ne touchent jamais un serveur.

42 outils gratuits, tous utilisables hors ligne — opscanopy.com fonctionne sans inscription et sans rien téléverser.

Outils associés : le Générateur UUID / ULID, le Convertisseur de casse et l’outil Slugify, ou le Convertisseur CVE Ignore — ou parcourez le répertoire d’outils complet.

Fourni tel quel pour votre confort ; vérifiez toujours deux fois les changements de permissions sur les systèmes de production. OpsCanopy est gratuit et ouvert.