Lancer une machine virtuelle Virtualbox
Bonjour,
J'ai fais en code C un script cgi pour apache2 linux,
ca fonctionne sauf que la machine virtuelle 'Virtualbox' ne démarre pas quand je passe par http://localhost/cgi-bin,
quand je le lance directement par le shell ./scrit.cgi , la machine virtuelle démarre bien.
Je traiterai l'url /cgi-bin/startvm une fois que cela fonctionne.
Voici le source :
La machine ne se lance pas sachant quelle est stocker dans l'utilisateur linux 'user'
Merci
J'ai fais en code C un script cgi pour apache2 linux,
ca fonctionne sauf que la machine virtuelle 'Virtualbox' ne démarre pas quand je passe par http://localhost/cgi-bin,
quand je le lance directement par le shell ./scrit.cgi , la machine virtuelle démarre bien.
Je traiterai l'url /cgi-bin/startvm une fois que cela fonctionne.
Voici le source :
#include <stdio.h> #include <time.h> #include <stdlib.h> int main(void) { char *dt; time_t timer; char time_str[25]; struct tm* tm_info; dt=getenv("QUERY_STRING"); time(&timer); tm_info = localtime(&timer); strftime(time_str, sizeof(time_str), "%Y/%m/%d %H:%M:%S", tm_info); /* Without this line, you will get 500 error */ puts("Content-type: text/html\n"); puts("<!DOCTYPE html>"); puts("<head>"); puts(" <meta charset=\"utf-8\">"); puts("</head>"); puts("<body>"); puts(" <h3>Hello world!</h3>"); printf(" <p>%s</p>\n", time_str); if (dt!=NULL) printf("%s\n",dt); puts("</body>"); puts("</html>"); //traiter if url ////////////////// system("/usr/sbin/runuser -l user -c '/usr/bin/vboxmanage startvm {6e6e342b-b65e-43fa-a842-bd9118c5e0ad} --type headless'"); return 0; }
La machine ne se lance pas sachant quelle est stocker dans l'utilisateur linux 'user'
Merci
Configuration: Linux / Firefox 91.0
A voir également:
- Lancer une machine virtuelle Virtualbox
- Machine virtuelle windows - Guide
- Machine virtuelle gratuite - Télécharger - Émulation & Virtualisation
- Regle virtuelle - Guide
- Lancer une application au démarrage windows 10 - Guide
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
3 réponses
Bonjour,
Bonne chance
- Est-ce que le contenu HTML s'affiche bien (ce qui montrerait que ton CGI est bien exécuté) ?
- Est-ce que le script CGI est lancé avec des droits root (ce qui est requis pour basculer en "user" avec
/usr/sbin/runuser -l user
) ? - Pourquoi ne pas avoir simplement fait un script PHP + utilisé
suphp
?
Bonne chance
Ca ne marche pas.
/usr/sbin/runuser -l user sert à commuter le shell en mode user.
Le cgi est lancé depuis apache quand je me connecte à http://localhost/cgi-bin ,c'est ce qui faut.
J'ai une erreur interne à l'appel de cgi aprés avoir decommenter
SuexecUserGroup user user
/usr/sbin/runuser -l user sert à commuter le shell en mode user.
Le cgi est lancé depuis apache quand je me connecte à http://localhost/cgi-bin ,c'est ce qui faut.
J'ai une erreur interne à l'appel de cgi aprés avoir decommenter
SuexecUserGroup user user
Bonjour Yann,
Je pense avoir bien compris ce que tu voulais faire (utiliser
Pour revenir à ton problème, je pense que
Petite précision au passage : quand tu écris
Bonne chance
Je pense avoir bien compris ce que tu voulais faire (utiliser
mod_suexecpour lancer ton programme tiers (
vbomanage) avec un utilisateur et un groupe dédié.
suphpest juste une manière plus simple de faire la même chose. Mais peu importe tu peux continuer comme tu as fait.
Pour revenir à ton problème, je pense que
mod_suexecest mal configuré (peut-être parce que tu as oublié l'option
+ExecCGIdans la configuration de ton vhost apache). Du coup, peux-tu essayer de vérifier que tu as fait tout ce qu'il fallait en te basant sur ce tutoriel ?
Petite précision au passage : quand tu écris
SuexecUserGroup user useril s'agit en fait de
SuexecUserGroup user group(sachant qu'il n'est pas rare d'avoir des noms de groupe qui correspondent à des noms d'utilisateur -- et qui ne contienne que cet utilisateur).
Bonne chance