web-dev-qa-db-fra.com

Différence entre le répertoire exécutable et les fichiers exécutables

Avoir une autorisation exécutable sur un répertoire signifie-t-il que les fichiers qu'il contient sont également exécutables même si les fichiers ne disposent pas explicitement d'autorisations exécutables?

19
Shady Programmer

Non, l'autorisation d'exécution pour les répertoires signifie que vous pouvez entrer dans le répertoire, ce qui en fait votre répertoire de travail actuel avec cdet voir les fichiers qu'il contient.

Il est utile de penser à un répertoire juste comme un fichier qui est une liste de noms de fichiers.

bit de lecture - Si cette option est activée, vous pouvez lire cette liste. Si vous avez un répertoire nommé livres:

  • Vous pouvez lsbooks et vous obtiendrez une liste des fichiers qu’il contient (-l ne fonctionnera pas).

  • Vous pouvez utiliser la complétion de ligne de commande, à savoir touch books/bo +Tab pour obtenir books/bookfile.

  • Vous ne pouvez pas créer de livres dans votre répertoire de travail, cdne fonctionnera pas.

bit d'écriture - Vous pouvez modifier les noms de cette liste. Vous ne pouvez le faire que si le bit d'exécution est également défini.

bit d'exécution - Vous avez besoin de cette permission pour:

  • Avoir un accès quelconque aux fichiers du répertoire.
  • Modifier les détails de la liste elle-même. Vous pouvez ajouter, renommer ou supprimer des noms dans la liste, mais cela nécessite également une autorisation en écriture sur le répertoire.

La définition du bit d'exécution sur un répertoire n'affecte en aucune manière les fichiers eux-mêmes, mais affecte également votre accès à ceux-ci. Par exemple, si vous disposez d'un accès en écriture et en exécution à un répertoire, vous pouvez déplacer, renommer et supprimer des fichiers, même si vous ne pouvez pas écrire dans les fichiers eux-mêmes.

24
Arronical