web-dev-qa-db-fra.com

Pourquoi ai-je besoin de l'autorisation x pour effectuer un cd dans un répertoire?

ls -la affiche les informations suivantes:

drwxrwxrw- 2 www-data www-data 4096 Aug 12 11:04 files

Mon nom d'utilisateur n'appartient pas à www-data. Lors de la tentative de cddans fichiers , je reçois un "permission denied" bien que l'autorisation "readname__" ait été définie.

Pourquoi ai-je besoin de la permission "execute"?

22
null

La signification de l'autorisation d'exécution pour un répertoire est la possibilité de rechercher des noms de fichiers à l'intérieur de ce répertoire.

Sans autorisation d'exécution sur le répertoire, vous ne pouvez pas stat, ouvrir, renommer, supprimer ou descendre dans les sous-répertoires de ce répertoire.

La seule chose que vous pouvez faire est de voir la liste des noms de fichiers existants, et seulement si vous avez l'autorisation de lecture (et lire mais ne pas exécuter est un ensemble étrange de permissions à avoir pour un répertoire).

Si vous n'êtes pas propriétaire du répertoire donné, devenez-le en utilisant,

Sudo chown username /path/to/directory

Ou le meilleur moyen est d'ajouter un utilisateur à un groupe,

Sudo usermod -a -G groupName userName

pour obtenir l'utilisation de l'autorisation d'exécution,

Sudo chmod a+x /path/to/dir
30
Prashant Chikhalkar