#1 Le 04/03/2010, à 16:23
- xWiBxTiCx
[Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
Bonjour,
Imaginons que j'ai un fichier "testSansX" et un autre fichier "testAvecX" avec les droits suivant :
-rwx------ 1 xwibxticx xwibxticx 19 2010-03-04 16:11 testAvecX
-rw------- 1 xwibxticx xwibxticx 19 2010-03-04 15:53 testSansX
Les deux fichiers contiennent le code suivant :
#!/bin/sh
echo "execution OK"
Voici ce qui me rend perplexe :
xwibxticx@pc:~/Bureau/tmp$ . ./testAvecX
execution OK
xwibxticx@pc:~/Bureau/tmp$ . ./testSansX
execution OK
xwibxticx@pc:~/Bureau/tmp$ ./testAvecX
execution OK
xwibxticx@pc:~/Bureau/tmp$ ./testSansX
bash: ./testSansX: Permission non accordée
Ceci m'emmène à me poser la question suivante :
quelles sont les vérifications faites lorsque j'exécute un fichier avec la commande ". ./testSansX" ?
Dernière modification par xWiBxTiCx (Le 05/03/2010, à 10:09)
Hors ligne
#2 Le 04/03/2010, à 18:56
- IHATEtrouspinette
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
j'étends un peux le problème :
xwibxticx@pc:~/Bureau/tmp$ . testSansX
execution OK
xwibxticx@pc:~/Bureau/tmp$ sh testSansX
execution OK
xwibxticx@pc:~/Bureau/tmp$ bash testSansX
execution OK
Hors ligne
#3 Le 04/03/2010, à 19:08
- ®om
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
. fichier
sh fichier
bash fichier
lisent le contenu du fichier et l'interprêtent (et l'exécutent). Il suffit donc d'avoir les droits de lecture.
répertoire/fichier
exécute le fichier en question, qui doit être… exécutable.
Hors ligne
#4 Le 04/03/2010, à 19:13
- IHATEtrouspinette
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
Pour bash et sh je trouve ça normal. Mais pour le point ? En quoi il interprète le fichier ?
Hors ligne
#5 Le 04/03/2010, à 21:01
- nesthib
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
. = source
cette commande récupère les données du script et l'exécute dans le processus courant au lieu de créer un sous-process.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#6 Le 05/03/2010, à 10:07
- xWiBxTiCx
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
Merci pour vos réponses. La situation est enfaite un cas à part, dans le sens où notre fichier exécutable n'est pas un binaire comme les autres. Le fichier est compréhensible pour toutes personnes (homme ou machine) ayant accès en lecture au fichier.
Partant de là, pourquoi la commande "./fichierSansX" ne s'exécute pas comme les autres, pourquoi Tux ne vérifie pas avant que le fichier en question est un "bash" ou autre langage de script ! Peux être pour plusieurs raison : performances, sécurité, .... bref Tux a tranché !
Moral de cette histoire
pour protéger vos bash de l'éxécution : enlevez les droits de lecture !
Bonne journée à vous
Hors ligne
#7 Le 05/03/2010, à 14:09
- nesthib
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
euh… pas vraiment supprimer le droit d'exécution suffit amplement. Après si l'utilisateur est un boulet c'est plutôt l'accès à la machine qu'il faut lui supprimer… (quoiqu'avec la séparation des privilèges il ne fera pas grand mal à la machine sans privilèges root), en effet il pourra toujours lancer des commandes avec ses droits ou refaire un script.
Le droit d'exécution permet d'exécuter un fichier par simple double-clic par exemple. Ceci permet d'éviter de lancer un script ou un programme malicieux qui n'a pas pas défaut les droits. L'inverse est beaucoup moins problématique. Un utilisateur qui lance
bash mon_script
est censé le faire en connaissance de cause.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#8 Le 05/03/2010, à 14:13
- Totor
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
Moral de cette histoire
pour protéger vos bash de l'éxécution : enlevez les droits de lecture !
Question : Comment faire pour exécuter un script si on ne peut même pas regarder son contenu ?
-- Lucid Lynx --
Hors ligne
#9 Le 05/03/2010, à 15:05
- xWiBxTiCx
Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----
Impossible, j'ai du être mal compris
Hors ligne