[RESOLU] Lancer un Shell_script en root depuis PHP.

Stéphan GAYET
Invité n'ayant pas de compte PHPfrance

28 juin 2006, 12:38

Bonjour,

Je n'arrive pas à trouver comment lancer un shell-script en tant que root, mais depuis PHP.

G bien essayé les commandes exec, system, shell_exec, ...

Pourtant, j'arrive bien à executer le script quant je suis en root en SHH, mais dès que je l'execute depuis php, le script n'abouti pas : celà est très certainement a cause des droits (ou du proprietaire).

En résumer, je recherche une commande PHP, du style :
fonction (shell_script_a_executer_sur_le_serveur, 'root', 'password')

Merci d'avance,

Stéphan.

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

28 juin 2006, 12:57

Utilise
popen(cmd, "r");
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 684 Messages

28 juin 2006, 13:27

Salut.

J'ai déjà fait un script PHP qui lancait des commandes shell en tant que root. Pour y arriver, j'ai utiliser exec et j'ai rajouter l'utilitaire Sudo en plus pour augmenter la sécurité.
Le serveur apache (ou autre) est normallement lancé avec les droits d'un autre utilisateur comme 'apache' ou 'www_data'. Il te suffit de configurer Sudo pour donner les droits que pour ton script et seulement pour l'utilisateur d'apache. Ainsi, il n'est pas possible de lancer d'autres commandes systèmes.
Une grande méfiance si tu récupère une commande par le web pour la traiter avec exec. Je te recommande de faire des références aux commandes que tu vas utilisées pour les passer à exec.
Zigz4g

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

28 juin 2006, 14:10

Pas besoin de multiplier les posts ! Il y a déjà une réponse ici :
http://www.phpfrance.com/forums/voir_sujet-20063.php

La discussion se continuera donc dans ce sujet