LIRE fichier executable SANS PERMISSION read - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 21-02-2008 à 20:19:23
|
Marsh Posté le 21-02-2008 à 21:08:37
black_lord a écrit :
|
Ca c'est parce que c'est du script. Le kernel détermine si ton fichier est un binaire exécutable, en le lisant (enfin il le sait quoi). Si c'est un exécutable, il va l'exécuter sinon il en déduit que c'est un fichier texte il lit la première ligne qui est "#!/usb/bin/perl" (à ce moment je ne sais pas s'il faut absolument les droits en lecture, mais de toute façon ça revient au même, voir la suite). Il connait l'interpréteur donc il exécute l'interprétant en ton nom et flush le contenu du fichier sur le stdin de l'interpréteur, et là si tu n'as pas les droits en lecture, ça ne marchera de toute façon pas.
Pour revenir à la question, non tu n'as pas besoin de droit en lecture pour exécuter un binaire. C'est très utile pour faire des programmes avec le bit suid, pour éviter que l'on ne "pompe" le fichier pour voir ce qu'il contient.
Marsh Posté le 29-02-2008 à 03:51:38
merci de ces explications, ce que je ne saisis pas c'est la difference de traitement entre un fichier script executable et binaire executable.. Quand on lance un fichier binaire executable il s'execute egalement avec l'uid/gid de l'utilisateur l'appelant, comme pour un fichier script. Dans les 2 cas le fichier est de toute facon lu pour etre execute... bizarre je trouve...
Marsh Posté le 29-02-2008 à 04:01:47
kryzantem a écrit : merci de ces explications, ce que je ne saisis pas c'est la difference de traitement entre un fichier script executable et binaire executable.. Quand on lance un fichier binaire executable il s'execute egalement avec l'uid/gid de l'utilisateur l'appelant, comme pour un fichier script. Dans les 2 cas le fichier est de toute facon lu pour etre execute... bizarre je trouve... |
un binaire c'est du langage machine, ce n'est pas lu par l'os, contrairement à un script interprété qui est doit être lu par l'interpréteur (celui défini dans le shebang par exemple) afin d'en faire du code machine (compris directement par le cpu)
Marsh Posté le 01-03-2008 à 10:08:11
ben oui mais le code machine faut bien que le cpu le lise.... il faut bien que l'OS fasse le lien entre le materiel et logiciel.... sinon a quoi servirait-il ?
Marsh Posté le 01-03-2008 à 10:32:09
kryzantem a écrit : ben oui mais le code machine faut bien que le cpu le lise.... il faut bien que l'OS fasse le lien entre le materiel et logiciel.... sinon a quoi servirait-il ? |
Oui mais comme tu le dis, c'est l'OS qui l'execute, et c'est lui aussi qui gère les permissions, donc si t'as le droit en execution, il a droit de le lire pour toi
Marsh Posté le 01-03-2008 à 10:33:00
zecrazytux a écrit : |
Marsh Posté le 01-03-2008 à 11:38:19
t'as vu à quelle heure j'ai écris ça ?
Marsh Posté le 03-03-2008 à 02:49:16
e_esprit a écrit : |
oui mais alors pourquoi ne peut-il pas faire la meme chose pour un fichier script executable : le lire pour moi pour lexecuter sans pour autant que j'ai le droit de le lire...
Marsh Posté le 03-03-2008 à 08:59:42
kryzantem a écrit : oui mais alors pourquoi ne peut-il pas faire la meme chose pour un fichier script executable : le lire pour moi pour lexecuter sans pour autant que j'ai le droit de le lire... |
à mon avis, parce qu'executer un script revient à exécuter l'interpréteur (jusque là pas de problèmes), puis lire le contenu du fichier script pour ensuite l'envoyer sur l'entrée standard de l'interpréteur...
Marsh Posté le 03-03-2008 à 09:06:46
Voila, c'est pas un vrai executable, c'est une facilité
Marsh Posté le 04-03-2008 à 06:08:27
darkpenguin a écrit : |
ca parait etre l'hypothese la plus probable
Marsh Posté le 21-02-2008 à 17:16:23
Bonjour,
OU, grosso modo, comment se fait-il que l'on puisse executer des fichiers sans pouvoir les lire ?
Exemple, si il y a un fichier executable avec les permissions --x--x--x ou 111, comment se fait-il que l'on puisse l'executer sans pour autant avoir les droits de lecture.... ?
En effet, pour executer un fichier ou un binaire, il faut bien pouvoir le lire, non ?
je suis sur qu'il y a une raison evidente dont je n'ai pas conscience, si c'est evident pour vous merci d'avance de m'eclairer sur cette bizarrerie
++
Message édité par kryzantem le 21-02-2008 à 17:16:47