Lancer shell_exec depuis un navigateur via un user système

Petit nouveau ! | 4 Messages

06 juin 2013, 08:49

Bonjour,

Je me permet de poser une question, je lance via mon navigateur une page php exécutant un script shell (ex : shell_exec("./logs_cluster.sh"). Cependant, ce script a besoin d'être lancer via un utilisateur usr_app, (Il s'agit d'un utilisateur système, qui utilise une clé .ssh particulière, et il n y a que lui qui peut se connecter à mon serveur distant).

Donc pour résumer :
- J'exécute ma page action.php
- Elle appelle un script log_cluster.sh
- Ce script doit être exécuter par usr_app

Malheureusement, je ne vois pas comment faire ça :( !

Si quelqu'un a des idées je suis preneur !

Merci.

Mammouth du PHP | 619 Messages

06 juin 2013, 09:51

Bonjour,

tu as essaie de changer l'user et les droits du fichier en question php ?

Petit nouveau ! | 4 Messages

06 juin 2013, 10:05

Bonjour,

Merci pour ce retour, malheureusement je ne peux pas procéder comme ça car :
- Certaines applications utilise le compte apache (www-data), donc si je le modifie, elles ne fonctionneront plus.
- D'autres part le script que je lance doit absolument être en usr_app également.

Il me semble qu'il faudrait faire un sudoer, mais ne m'y connaissant pas tellement ... Je ne comprends pas bien le principe !

Mammouth du PHP | 619 Messages

06 juin 2013, 10:15

Re,

même si tu dis que apache a le droit d’exécuté sur ce fichier ?

désolé mais apres je mets rarement un fichier php qui a des droits mais d'autre membre auront surement une solution :)

ViPHP
ViPHP | 4039 Messages

06 juin 2013, 11:25

Il y a bien suEXEC qui permet de jouer avec setuid et setgid sous Apache, mais il faut un accès complet au système, avec droits d'administrateur, et assez de compétences pour savoir (plus ou moins) ce que l'on fait.

Si tu exposes un peu ce que tu compte faire, il y a sans doutes d'autres manières de faire fonctionner ton affaire que de passer par une page php qui execute un shell qui lance des commandes via ssh à un serveur distant.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Petit nouveau ! | 4 Messages

06 juin 2013, 13:32

Si tu exposes un peu ce que tu compte faire, il y a sans doutes d'autres manières de faire fonctionner ton affaire que de passer par une page php qui execute un shell qui lance des commandes via ssh à un serveur distant.
Non malheureusement c'est pour piloter une application, via une interface web.

ViPHP
ViPHP | 4039 Messages

06 juin 2013, 14:23

Si tu exposes un peu ce que tu compte faire, il y a sans doutes d'autres manières de faire fonctionner ton affaire que de passer par une page php qui execute un shell qui lance des commandes via ssh à un serveur distant.
Non malheureusement c'est pour piloter une application, via une interface web.
Et je parie que l'application n'a jamais étée prévue pour ça...
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Petit nouveau ! | 4 Messages

06 juin 2013, 22:36

Si tu exposes un peu ce que tu compte faire, il y a sans doutes d'autres manières de faire fonctionner ton affaire que de passer par une page php qui execute un shell qui lance des commandes via ssh à un serveur distant.
Non malheureusement c'est pour piloter une application, via une interface web.
Et je parie que l'application n'a jamais étée prévue pour ça...
Non effectivement, mais je n'en suis pas responsable.