Lancement script à distance par internet

freddy -  
 freddy -
Bonjour,

J'ai mis un script sur ma machine Linux qui me permet de monter une partition sur un PC distant.

Je souhaiterais pouvoir executer ce script à distance par l'intermediaire de mon serveur Web.
J'ai nommé mon script test.sh.

Or quand je suis sur Internet et que j'appelle ce lien, il me demande de l'enregistrer mais il n'execute rien. Comment faire?

Merci de votre aide
A voir également:

4 réponses

HellIce
 
Tu ne peux pas exécuter un script shell directement par un serveur web.

Mais tu peux écrire une page en PHP avec les fonctions : exec, shell_exec ou system qui te le permettrons
0
web
 
boujours moi aussi j'ai le meme probleme je recherche la solution
c'est un probleme de droit:
solution que je n'ai pas testé

mettre ds un .htacess et dire que qu'il exucute en root
faire un script qui monte au demarrage et le change grace au php
etc..

Si quelqu'un a solution merci de proposé
0
freddy
 
Euh oui...

Dans mon script voila ce que j'ai mis :
#!/bin/sh
mount -t smbfs -o username=xxxxxxx,password=xxxxxxx \\\\nom_du_serveur\\partition repertoire/

Il fonctionne bien lorsque je le lance directement par Linux
J'ai essayé par php avec exec ou shell_exec mais il me fait rien.
Je pense peut etre à un problème de droit car il faut etre en root.

Comment pourrais-je faire?

Merci
0
pliz
 
kan tu lances ton script par internet, si ca se trouve tu le lances en tant que other et non en tant que posseseur de ce script donc change l'appartenance du script. De même pour le contenu du script, as-tu les droits de lancer ce type de commande.
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Salut Freddy (et les autres :P),

mount ne peut être lancé que par root ou des utilisateurs dans le groupe "operator". Si j'étais toi, je ne mettrai pas ton user sous lequel Apache se lance dans le groupe "operator" pour des motifs évidents de sécurité.

Voilà un peu d'inspiration pour ton problème.

http://lea-linux.org/dev/suid_scripts.html

Il n'est pas possible de rendre suid un script sh. C'est trop risqué. Si tu es allergique au langage C, il y a d'autres solutions... mais tout est très bien expliqué sur cette page.


Dal
0
kmf
 
Tu as parfaitement raison pour la securite mais on pourrait rendre possible le mount par un utilisateur avec l'option "user" dans /etc/fstab ?
Ce n'est pas tres bon non-plus au niveau securite mais c'est quand un peu moins dangereux.
0
freddy
 
Merci bcp Dal

J'ai suivi ton lien ca marche nickel..!!

Par contre n'ayant aucune connaissance en C, j'ai reproduit un peu betement sans trop comprendre, mais le principal est que ca marche.

Merci
0
pliz
 
et par authentification? il ajoute un gars dans le groupe admin et via le web il s'authentifie avec et lance son script de ce compte. Ca ne pourrait pas passer?
0