executer commandes root avec PHP! - PHP - Programmation
Marsh Posté le 27-01-2011 à 10:06:07
Bein si tu veux lancer des commandes en tant que root depuis PHP (très mauvaise idée d'ailleurs) il faut soit que PHP soit exécuté en tant que root (c'est du suicide), soit qu'il ait le droit de lancer certaines comandes via "sudo" (c'est de ce côté là qu'il faut chercher)
Marsh Posté le 28-01-2011 à 07:37:58
Non, seuls les commandes utilisées sur l'outil que j'ai parlé ci-dessus qu'on autorise à PHP de pouvoir les exécuter c'est à dire on spécifie mais j'aimerais savoir comment on les spécifie
Merci
Marsh Posté le 28-01-2011 à 08:26:49
C'est pas dans PHP qu'il faut le faire, c'est dans ton fichier de conf de sudo ....
Marsh Posté le 28-01-2011 à 09:35:01
Ouai,j'ai dejà edité /etc/sudoers et j'ai mis
www-data ALL=(ALL) NOPASSWDetc/init.d/postgresql-8.3 stop
et dans le fichier php :
<?php
$res=system('sudo -u www-data /etc/init.d/postgresql-8.3 stop');
echo $res;
?>
Il m'affiche au navigateur :
* Stopping PostgreSQL 8.3 database server * Error: You must run this program as the cluster owner (postgres) ...fail!
C'est quoi mon problème!
Marsh Posté le 28-01-2011 à 09:59:52
C'est assez explicite non?
You must run this program (sous entendu, /etc/init.d/postgres ) as the cluster owner (postgres)... Alors que toi tu le run avec www-data
Marsh Posté le 31-01-2011 à 21:18:00
pourquoi '-u www-data' dans la commande?
Marsh Posté le 27-01-2011 à 09:27:49
salut,
je voudrais interagir un outil d'administration de base de données avec une application PHP qui va se servir comme interface de manipulation et tous les commandes qu'on utilise avec l'outil ne s'execute qu'en tant que root, et ben j'ai dejà essayé avec system() ou exec mais ca marche pas et j'amerais savoir si quelqu'un peut m'aider.
Merci