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 :
Cependant, l'utilisation de sudo posait apparement un problème pour l'utilisateur et cela ne marche pas.
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.'/'); ?>
J'ai donc créer un fichier createaccount.sh dans /var/createaccount.sh qui contient :
Puis dans mon code php j'ai mis:
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/
Mon fichier sudoers contient bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php // PHP : exec('sudo www-data /var/createaccount.sh ' . $data . ' ' . $mail);
Depuis la page web de creation de compte, apres envoi du formulaire, rien ne marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 www-data ALL=(ALL) NOPASSWD: /var/createaccount.sh
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.
Partager