Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 04/03/2010, à 17: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, à 11:09)

Hors ligne

#2 Le 04/03/2010, à 19: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, à 20: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, à 20: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, à 22: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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 05/03/2010, à 11: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 smile

Hors ligne

#7 Le 05/03/2010, à 15: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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#8 Le 05/03/2010, à 15:13

Totor

Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----

xWiBxTiCx a écrit :

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, à 16:05

xWiBxTiCx

Re : [Résolu] Incomprehension droits d'un fichier -rw------ et -rwx-----

Impossible, j'ai du être mal compris smile

Hors ligne

Haut de page ↑