Bonjour à tous, débutant sous linux et php
j'ai créer un système de création de comptes mails sur mon serveur debian.

Lorsqu'un utilisateur rempli un formulaire, le script php doit executer un :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?php
exec('maildirmake /home/vmail/'.$data.'@mondomaine.com/');
exec('sudo chown -R 5000 www-data /var/spool/vmail/'.$mail.'/');
exec('sudo chgrp -R 5000 www-data /var/spool/vmail/'.$mail.'/');
?>
Cependant, l'utilisation de sudo posait apparement un problème pour l'utilisateur et cela ne marche pas.



J'ai donc créer un fichier createaccount.sh dans /var/createaccount.sh qui contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#!/bin/sh
/usr/bin/maildirmake /var/spool/vmail/mondomaine.com/$data
/usr/bin/maildirmake /var/spool/vmail/$data@mondomaine.com
/bin/chown -R 5000 /var/spool/vmail/$data@mondomaine.com/
/bin/chgrp -R 5000 /var/spool/vmail/$data@mondomaine.com/
/bin/chown -R 5000 /var/spool/vmail/mondomaine.com/$data/
/bin/chgrp -R 5000 /var/spool/vmail/mondomaine.com/$data/
Puis dans mon code php j'ai mis:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?php
// PHP :
exec('sudo www-data /var/createaccount.sh ' . $data . ' ' . $mail);
Mon fichier sudoers contient bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
www-data ALL=(ALL) NOPASSWD: /var/createaccount.sh
Depuis la page web de creation de compte, apres envoi du formulaire, rien ne marche.

Par contre, lorsque j'execute sous ssh directement mon fichier createaccount.sh (en ayant modifié les $data par le vrai utilisateur) et bien cela crée bien les dossier pour les mails.

Quelqu'un aurait-il une piste ?
Ai-je fait "boulette" quelque part ?
Ou alors ai-je loupé une étape ?

Merci par avance.