Réponses:
Comme vous ne pouvez pas «exécuter» un répertoire, le bit d'exécution a été mieux utilisé. Le bit d'exécution sur un répertoire vous permet d'accéder aux éléments qui se trouvent dans le répertoire, même si vous ne pouvez pas lister le contenu des répertoires.
$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!
Depuis la chmod
page de manuel:
Les lettres rwxXst sélectionnent les bits du mode fichier pour les utilisateurs concernés: lecture (r), écriture (w), exécution (ou recherche de répertoires) (x) , exécution / recherche uniquement si le fichier est un répertoire ou a déjà l'autorisation d'exécution pour certains utilisateur (X), définissez l'ID utilisateur ou de groupe sur les exécutions, l'indicateur de suppression restreinte ou le bit collant (t).
Les répertoires (ils ne sont généralement pas appelés dossiers dans * nix) ont une signification différente pour les bits d'autorisation que les fichiers normaux.
Pour les répertoires, l'écriture permet de créer de nouveaux fichiers à l'intérieur.
Lire vous permet de répertorier les fichiers à l'intérieur.
Exécuter vous permet de le saisir et d'accéder aux fichiers (ou autres répertoires) à l'intérieur.
Les autorisations d'exécution sur un répertoire vous permettent de le parcourir pour utiliser les ressources qu'il contient.
Le bit "exécuter" signifie en fait "rechercher" lorsqu'il est appliqué aux répertoires (de man chmod
). Cela semble raisonnable car exécuter n'a aucun sens pour un répertoire.
Le x
bit sur un dossier fait référence à l'indexation / recherche de répertoire / listage; rien de tout cela n'est possible si vous gardez ce bit bas.
Voici un exemple de son utilisation: si vous voulez qu'un utilisateur avec des autorisations de lecture limitées sur chaque répertoire, mais son domicile, disons /home/dummy
, alors vous devez créer /
et /home
avoir le x
bit défini, sinon il ne peut même pas accéder à son répertoire personnel.
cd
) vous le saisissez (l'exécutez).