Outils de développement · Calculatrice Chmod
Ce que fait le bit d'exécution sur un répertoire et pourquoi les dossiers 644 se cassent
· Comment ça marche
chmod unix flux de travail du développeur
Sur un répertoire, x ne consiste pas à exécuter quoi que ce soit ; il accorde le droit de traverser. Cet article explique la division read/search, les cas impairs qu'elle produit et les modes qui les évitent.
Autorisation refusée sur un fichier que vous pouvez lire — le fichier est 644, le répertoire est 644 et cat échoue toujours
Un fichier lisible peut rester inaccessible lorsque son répertoire ne dispose pas d'exécution pour la classe concernée. L'article 501 appelle le répertoire à exécuter une traversée plutôt que d'exécuter un dossier. L'explication du répertoire de la calculatrice est plus explicite : lire la liste des entrées, écrire autorise les modifications d'entrée et exécuter permet d'entrer dans le répertoire et d'accéder aux fichiers qu'il contient par leur nom. Le mode 644 n'a aucun bit d'exécution pour aucune classe.
Comparez 644 avec 755 alors que la cible est définie sur le répertoire. Le premier rend rw-r--r--; le second rend rwxr-xr-x. Chaque classe gagne en exécution, tandis que seul le propriétaire conserve l'écriture dans les deux modes. Ce contraste explique la différence de permission représentée. La page n'inspecte pas le fichier, n'identifie pas le processus d'accès et ne teste pas si un répertoire ancêtre bloque le chemin réel.
Lire des listes, exécuter des parcours - comment le répertoire r affiche les noms tandis que x vous permet d'ouvrir les entrées par nom et de les déclarer
La lecture et l'exécution du répertoire sont des indicateurs distincts avec des explications distinctes. Lire correspond au listing des entrées. Exécuter correspond à entrer dans le répertoire et à atteindre les fichiers nommés à l'intérieur. Une classe peut donc avoir l'un sans l'autre dans le modèle numérique. La matrice maintient cette distinction visible en plaçant la lecture au poids 4 et l'exécution au poids 1 dans chaque chiffre de classe.
La modification d'un chiffre d'une autre classe de 4 à 5 est une démonstration ciblée. Le triple symbolique passe de r-- à r-x, et l'explication du répertoire ajoute une accessibilité basée sur le nom tout en conservant la liste. Il s'agit d'un fait de conversion, pas d'un test d'accès en direct. La propriété, l'identité, les entrées ACL et la politique obligatoire sont absentes, de sorte que le calculateur ne peut pas dire quelle classe régit une demande réelle.
Les quatre combinaisons : r sans x, x sans r, les deux et ni l'une ni l'autre, et ce que chacune permet réellement à un utilisateur de faire
Les quatre combinaisons de lecture et d'exécution sont représentables sans attribuer un comportement système plus large. Le chiffre 4 est r--, le chiffre 1 est --x, le chiffre 5 est r-x et le chiffre 0 est ---. Pour une cible de répertoire, la prose générée associe ces bits sélectionnés à une liste et à une accessibilité basée sur le nom. L'écriture reste un indicateur indépendant et n'est impliquée ni par la lecture ni par l'exécution.
Utilisez la matrice pour isoler une classe à la fois plutôt que de traiter un mode à trois chiffres comme une étiquette. La page reconstruit l'entier chaque fois qu'une case change, de sorte que le chiffre correspondant et la position symbolique se déplacent ensemble. Il ne peut pas ouvrir un répertoire ni tenter une recherche. Les quatre combinaisons sont des autorisations modélisées exactes, tandis que tout résultat efficace dépend du contexte cible observé séparément.
Traversal s'applique à chaque ancêtre - pourquoi un répertoire restrictif plus haut dans le chemin interrompt l'accès à tout ce qui se trouve en dessous
L'article 501 identifie une autorisation d'exécution manquante dans le répertoire parent comme raison pour laquelle un mode de fichier valide peut ne pas résoudre l'accès. Chaque composant de répertoire dans un chemin présente sa propre question de mode. La calculatrice peut décoder chaque valeur fournie indépendamment et indiquer si le propriétaire, le groupe ou toute autre exécution est présent. Il ne peut pas parcourir le chemin ni déterminer quelle classe s'applique à l'identité demandeuse.
Cela fait de l'analyse des ancêtres un flux de travail d'inspection externe plutôt qu'une fonction de calculatrice. Si un parent est signalé comme 750, la page affiche rwxr-x---; si un autre est 700, il affiche rwx------. Cette différence est concrète, mais aucune conclusion ne s’ensuit tant que l’appropriation et l’appartenance au processus ne sont pas connues. L'aperçu de la commande reste inerte et n'offre aucune preuve que la modification de l'un ou l'autre répertoire est appropriée.
Exemple pratique : correction d'une racine Web – vérification de chaque répertoire depuis/vers le fichier servi et choix de 755 ou 750
Pour un exemple de racine Web, inspectez les modes fournis composant par composant au lieu de prescrire une valeur pour l'arborescence. Le mode 755 accorde au propriétaire rwx et au groupe et autres r-x ; le mode 750 supprime toutes les autres autorisations tout en conservant le groupe r-x. Le convertisseur rend cette différence visible. Il ne peut pas identifier un processus Web, découvrir le chemin ou choisir quelle classe doit être traversée.
Vérifiez le fichier servi séparément de ses répertoires. Un mode de fichier fourni tel que 644 restitue rw-r--r--, tandis que le même numéro sélectionné comme répertoire décrit différentes actions et ne s'exécute pas partout. Cette formulation sensible à la cible évite que la lecture de fichiers ne soit confondue avec la traversée de répertoires. L'adéquation dépend toujours de la propriété réelle, de l'identité du processus, des ancêtres et des éventuelles couches de contrôle d'accès absentes de la page.
Récursivité bien faite - pourquoi chmod -R 644 sur un arbre est l'erreur classique et comment X majuscule ou find -type d l'évite
L'affichage récursif est volontairement modeste. Le sélectionner insère uniquement -R dans la commande chmod générée ; la calculatrice n'énumère pas d'arborescence et ne distingue pas les fichiers des répertoires. L'application d'un mode 644 terminé partout laisserait l'exécution du répertoire claire dans chaque classe. La page peut révéler ce résultat, mais elle n'implémente pas de X majuscule ni de workflow de sélection de type de fichier.
Les affectations symboliques générées restent également fixes. Pour 644, il s'agit de u=rw,g=r,o=r, et non d'une commande relative qui préserve conditionnellement le parcours. Le champ de style ls affiche rw-r--r-- et ne doit pas être confondu avec cette liste d'affectations. Toute stratégie de récursion externe doit être vérifiée en dehors de cette route, y compris la sélection de cible, la gestion des liens et les modes finaux placés sur différents types d'objets.
Ce que cela ne couvre pas : comportement collant et setgid sur les répertoires et masques ACL, qui sont couverts dans leurs propres messages
Les masques Sticky, setgid et ACL sont distincts de la question de parcours ordinaire. La calculatrice implémente une représentation collante et setgid et des explications sensibles à la cible, mais la comparaison principale de cet article n'a besoin que d'être lue et exécutée. Les masques ACL ne sont pas du tout représentés. Une conversion correcte en mode de base ne peut pas établir si des entrées supplémentaires accordent ou limitent l'accès à une identité particulière.
Umask est également en dehors du test. La page accepte un mode terminé, pas les paramètres de processus qui auraient pu le précéder. Si un répertoire apparaît avec 644, le convertisseur peut afficher les positions d'exécution manquantes et générer une commande candidate pour une autre valeur fournie. Il ne peut pas dire pourquoi ce mode est apparu, si la propriété est une erreur ou si le modifier constitue une solution à l’échec réel.
À retenir : les répertoires ont besoin de x pour être utilisables - et la calculatrice fait la différence entre 644 et 755 visible sous la forme r-- versus r-x
Ce qu'il faut retenir est que le répertoire x représente l'accessibilité basée sur l'entrée et le nom dans l'explication de cette calculatrice. Le mode 644 affiche r-- pour le groupe et les autres, tandis que 755 affiche r-x pour les deux et ajoute également l'exécution du propriétaire. Le champ octal synchronisé, le champ symbolique, la matrice et la prose rendent cette distinction inspectable sans considérer l'un ou l'autre des nombres familiers comme universellement corrects.
Diagnostiquez au-delà de l'arithmétique avant d'appliquer quoi que ce soit. Confirmez l'identité pertinente, la propriété, le mode fourni par chaque ancêtre et le type de cible. Utilisez ensuite la calculatrice pour vérifier toute valeur candidate complétée. Il rejettera les notations mal formées et montrera exactement quels bits changent, mais il n'ouvrira jamais le chemin, n'exécutera pas chmod, n'évaluera pas la politique de l'application ou ne prouvera jamais que les bits du mode traditionnel sont la seule autorité.