script php utilisant la commande sudo pour exécuter virsh

Ici vient se détendre l'administrateur système.
Avatar de l’utilisateur
neowdj1
Messages : 262
Inscription : 25 octobre 2009, 23:30
Localisation : Lille

script php utilisant la commande sudo pour exécuter virsh

Message par neowdj1 » 25 octobre 2010, 18:55

Bonsoir,

Je suis actuellement en train de coder une application en php qui utilise virsh (gestion de machine virtuel KVM).

le problème c'est que virsh à besoin des droits root

la seul solution que j'ai trouvé est de passer par sudo
ex:

Code : Tout sélectionner

 <?php escapeshellcmd(passthru('sudo /usr/bin/virsh destroy '.$os)); ?>


et voila ma ligne sudo dans /etc/sudoer

Code : Tout sélectionner

apache octave= NOPASSWD:/usr/bin/virsh,/sbin/ifconfig,/usr/bin/virt-install
si je supprime le sudo

Code : Tout sélectionner

[Mon Oct 25 18:10:29 2010] [error] [client 192.168.10.100] PHP Warning:  Missing argument 1 for vmstatus(), called in /var/www/html/kvm/modules/accueil.php on line 2 and defined in /var/www/html/kvm/inc/function.php on line 4, referer: http://octave/kvm/gestion/shutdown
libvir: Network Config error : cannot create bridge 'virbr0': File exists
Failed to autostart network 'default': cannot create bridge 'virbr0': File exists
halDeviceMonitorStartup: dbus_bus_get failed
	org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
error: unable to connect to '@/var/www/.libvirt/libvirt-sock': Connection refused
error: failed to connect to the hypervisor
est ce une solution sécurisé ? Si non il y a t'il un autre moyen plus sécurisé.

sur internet j'ai trouver ceci

http://blog.khemael.net/2010/08/26/de-l ... -en-php/3/

Mais je sais pas coder en C

merci d'avance

Répondre