Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 27-07-2020 12:57:43

minoltafan
Membre
Distrib. : Debian GNU/Linux 9.11 (stretch)
Noyau : Linux 4.9.0-11-amd64
(G)UI : KDE 4
Inscription : 24-01-2014

chmod

Bonjour tout le monde!

Je viens de lire le tuto sur les droits utilisateurs du site:
https://debian-facile.org/doc:systeme:droits-unix
et chmod :
https://debian-facile.org/doc:systeme:chmod.
(merci à smolski pour ceux ci)
Je suis un peu perdu en ce qui concerne les droits de lecture et les droits d'execution:
par exemple si vous avez un dossier Toto/ et qu'à l'intérieur il y'ait un script bash demarrer_voiture.sh.
Quel est la différence entre:
-

chmod -R 754 Toto/


bloc à supprimer si la commande n’affiche rien

: droits  de lecture pour les others sur ce dossier
et
-

chmod -R 751 Toto/


bloc à supprimer si la commande n’affiche rien

: droits d'exécution pour les others sur ce dossier.

Dans un cas il pourra juste de lire (ouvrir pour lire dans un éditeur) et dans l'autre juste exécuter le fichier bash?

Merci pour vos éclaircissements!


Steam sur linux! incroyable =p

Hors ligne

#2 27-07-2020 14:18:56

raleur
Membre
Inscription : 03-10-2014

Re : chmod

1) Extrême prudence avec l'option -R (récursif) de chmod !
2) Je trouve que ces deux articles font un peu l'impasse sur les particularités des permissions appliquées aux répertoires et scripts.

La permission de lecture d'un répertoire permet de lister ou rechercher les noms des fichiers et répertoires qu'ils contient mais pas d'y accéder (ni à leurs attributs : taille, date, permissions...). Sans la permission d'exécution, on a quelque chose comme ceci :

ls -l rep


ls: cannot access rep/monscript: Permission denied
total 0
-????????? ? ? ? ?            ? monscript


La permission d'exécution d'un répertoire permet d'accéder aux fichiers et répertoires si on connaît leur nom, mais pas lister ou rechercher dans son contenu.
Il va sans dire que l'une sans l'autre n'a pas vraiment de sens, mais c'est ainsi. Attention donc au chmod récursif car les sous-répertoires doivent être exécutables mais pas forcément les fichiers. Le mode spécial "X" peut faciliter les choses (voir man chmod).

La permission d'exécution sur un script ne sert qu'à l'exécuter directement sans faire appel explicitement à son interpréteur :

rep/monscript


Mais on peut l'exécuter même s'il n'a pas la permission d'exécution en invoquant son interpréteur explicitement, par exemple :

sh rep/monscript


Par contre dans les deux cas la permission de lecture est nécessaire car l'interpréteur doit pouvoir lire le script pour l'exécuter.

Le cas d'un binaire exécutable (programme compilé) est différent :
- la permission d'exécution est nécessaire pour l'exécuter
- la permission de lecture n'est pas nécessaire pour l'exécuter

Dernière modification par raleur (27-07-2020 14:22:47)


Il vaut mieux montrer que raconter.

Hors ligne

#3 28-07-2020 13:14:41

minoltafan
Membre
Distrib. : Debian GNU/Linux 9.11 (stretch)
Noyau : Linux 4.9.0-11-amd64
(G)UI : KDE 4
Inscription : 24-01-2014

Re : chmod

Bonjour raleur!
Merci beaucoup pour cette réponse très claire. J'ai bien compris maintenant smile:)

Steam sur linux! incroyable =p

Hors ligne

Pied de page des forums