Outils de développement · Calculatrice Chmod
Pourquoi chmod 777 n'est pas le bon correctif pour les erreurs d'autorisation refusée
· Pourquoi c'est important
chmod unix contrôle d'accès
777 fait disparaître l'erreur en donnant tout à tout le monde. Cet article explique ce que cela donne réellement, comment cela est exploité et les étapes de diagnostic qui permettent de détecter le véritable problème.
L'erreur a disparu, la question n'a pas été - chmod -R 777 sur le répertoire du projet a corrigé le formulaire de téléchargement et personne ne sait pourquoi
Une erreur d'autorisation disparaissant après 777 prouve seulement qu'un accès large a changé le résultat. Il ne révèle pas quel bit était important ni si les bits de mode étaient à l'origine de l'échec. La calculatrice mappe 777 à rwxrwxrwx. Chaque classe reçoit des lectures, des écritures et des exécutions, dont les significations pratiques diffèrent entre les fichiers et répertoires normaux.
La preuve utile est la différence de niveau de bits par rapport au mode d'origine. Enregistrez les triples de classe de ce mode, puis comparez 777 sans appeler le succès un diagnostic. Le calculateur ne connaît aucune identité de processus, propriétaire, groupe, ACL ou politique obligatoire. Il expose uniquement le niveau d'accès accordé par 777 avant qu'une solution de contournement ne devienne un paramètre permanent.
Ce que 777 accorde en termes simples : chaque utilisateur du système peut lire, modifier et (pour les répertoires) créer ou supprimer n'importe quoi dans l'arborescence.
Le mode 777 attribue le chiffre ordinaire maximum à chaque classe. Chaque 7 combine la lecture de 4, l'écriture de 2 et l'exécution de 1, produisant rwxrwxrwx. Pour les fichiers, toutes les classes peuvent lire, modifier et exécuter le contenu. Pour les annuaires, ils peuvent lister, modifier les entrées et saisir par leur nom. Chaque case à cocher ordinaire est cochée.
« Tout le monde » correspond spécifiquement au triple d'autorisation finale, pas à un compte connu. Sans identité et propriété, le calculateur ne peut pas déterminer si un processus utilise un propriétaire, un groupe ou autre. La comparaison de 777 avec 775 ou 755 révèle toujours avec précision chaque bit d'écriture supprimé, remplaçant des descriptions vagues telles que « ouvert » par des différences visibles au niveau de la classe.
Comment les dommages se produisent : un processus Web compromis, un script mal écrit ou un autre client modifiant la configuration ou supprimant un shell Web
La calculatrice expose les bits accordés mais ne peut pas prouver un chemin d'exploitation. Un fichier accessible en écriture par tout le monde déclenche un avertissement indiquant que tout compte peut modifier son contenu. Un répertoire 777 sans sticky avertit que des entrées peuvent être créées ou supprimées. Ces conséquences découlent du mode et du type de cible, et non de la preuve qu'un autre compte existe ou a agi.
Séparez les conséquences possibles des événements observés. La page n’inspecte aucun processus, locataire, script, configuration ou racine Web, et n’exécute rien. Il peut établir que l'écriture est activée pour une classe et signaler un large candidat pour révision. Les allégations concernant des compromissions, des fichiers injectés ou des abus réels nécessitent des preuves environnementales que le calculateur ne collecte jamais.
La calculatrice expose les bits accordés mais ne peut pas démontrer un chemin d'exploitation
Le diagnostic d'identité et de propriété s'effectue en dehors de cette voie. Les bits ordinaires sont regroupés en propriétaire, groupe et autres, mais la calculatrice ne reçoit qu'un mode entier et un type cible. Sans noms de propriétaires, appartenance à un groupe ou informations d'identification de processus, il ne peut pas décider quel triplet contrôle une tentative d'accès échouée, même s'il décode chaque triplet de manière cohérente.
C'est pourquoi l'élargissement de toutes les classes est un diagnostic faible. Un bit de groupe vérifié peut être important lorsqu'un processus doit utiliser l'accès de groupe ; une propriété incorrecte peut faire en sorte que n'importe quel mode modifie le mauvais remède. Utilisez la matrice pour isoler les modifications proposées, puis vérifiez les identités et la propriété en externe. Le navigateur règle la représentation, pas l'autorisation.
Le diagnostic d'identité et de propriété doit avoir lieu en dehors de cette voie
Pour un répertoire de téléchargement, comparez les candidats sans en prescrire. Le mode 777 permet à chaque répertoire de classe de lire, d'écrire et d'exécuter. Le mode 775 supprime les autres écritures tout en préservant l'écriture de groupe. Le mode 755 réserve l'écriture au propriétaire. La calculatrice affiche ces différences, mais ne peut pas savoir quelle classe un téléchargeur utilise ni de quelles opérations il a besoin.
Enregistrez le plus petit changement entre les candidats. De 777 à 775, seules les autres écritures disparaissent ; de 775 à 755, l'écriture de groupe disparaît également. Contrôles d'écriture du répertoire créant, renommant et supprimant des entrées, tout en exécutant l'entrée des contrôles et la recherche de nom. L'adéquation dépend toujours de la propriété, de l'identité, des ACL et du comportement de l'application en dehors du calculateur.
Exemple concret : comparer les modes de répertoire de téléchargement des candidats sans en prescrire un
Les règles de refus spécifiques au programme nécessitent la documentation et les preuves d'exécution de ce programme. Les sources chmod ne contiennent aucune politique SSH, aucune règle de serveur Web ou configuration d'application. Ils ne peuvent pas prouver que le logiciel rejette 777, accepte 755 ou nécessite une autre valeur. La calculatrice convertit uniquement les modes et décrit leurs opérations ordinaires sur les fichiers ou les répertoires.
Si le logiciel signale que les autorisations sont trop larges, entrez dans le mode observé et inspectez son groupe et les autres bits. Consultez ensuite les preuves faisant autorité pour ce programme avant de modifier quoi que ce soit. La ligne chmod générée est un texte inerte. Les affichages octaux et symboliques correspondants confirment la cohérence de la conversion, et non la conformité à la politique du programme ou au succès opérationnel futur.
Les règles de refus spécifiques au programme nécessitent la documentation de ce programme.
Les refus de contrôle d'accès obligatoires se situent en dehors de chmod et de la calculatrice. Aucune source n’interroge SELinux, AppArmor ou un autre moteur de stratégie. Le mode 777 peut donc s'afficher parfaitement alors qu'un contrôle sans rapport reste invisible. La page ne peut pas distinguer cette condition des restrictions de propriété, d'ACL, de stockage ou d'application ; ce sont toutes des possibilités externes plutôt que des résultats de calculatrice.
Ne traitez pas un mode large comme un test universel de chaque couche d'autorisation. Les preuves de la calculatrice se terminent par les bits propriétaire, groupe et autres, ainsi que setuid, setgid et sticky. Il affiche les autorisations sélectionnées, et non la raison pour laquelle une opération échoue ou réussit. Préservez les modes observés, comparez les bits exacts et étudiez la politique externe de manière indépendante.
Les refus de politique obligatoires se font en dehors de chmod et en dehors de la calculatrice
Comprendre chaque subvention avant d'élargir un mode. Entrez 777 et les neuf autorisations ordinaires deviennent explicites. Comparez 755 pour supprimer le groupe et les autres écritures, ou 775 pour conserver l'écriture du groupe tout en supprimant les autres écritures. Ces transformations factuelles révèlent la surface d'accès de chaque candidat sans choisir de mode pour un propriétaire, un processus ou une charge de travail inconnu.
Résolvez l'identité et la propriété en dehors du navigateur, puis vérifiez uniquement les bits prévus. Confirmez que le texte octal et symbolique, le résumé et les cases à cocher concordent, en utilisant l'explication appropriée du fichier ou du répertoire. La page rejette les entrées mal formées, mais n'exécute pas chmod ni n'identifie de compromis. Les décisions d’autorisation définitive appartiennent à l’environnement inspecté.