AnonymousCoward
10/03/2015, 12h06
Chez moi, les emails envoyés par PHP sur un serveur Linux sont envoyés via la commande /usr/sbin/sendmail -t -i , configuration par défaut dans le php.ini .
Or, avec Postfix d'installé, la commande sendmail fait appel à la commande postdrop ( /usr/sbin/postdrop ). Si je désactive l'accès aux users de base à la commande postdrop avec un chmod o-x /usr/sbin/postdrop , les utilisateurs non root ne peuvent plus envoyer de mail via la commande sendmail, y compris les scripts PHP :
Après, rien ne vous empêche de bloquer également les ports 25, 465 et 587 . Mais en local via la commande sendmail, Postfix n'utilise pas de connexion TCP, contrairement à Exim.
Sinon, une manière un peu plus propre de faire cela serait de configurer postfix pour interdire à certains utilisateurs d'utiliser la commande sendmail / postdrop. Voir authorized_submit_users .
--
AnonymousCoward
Or, avec Postfix d'installé, la commande sendmail fait appel à la commande postdrop ( /usr/sbin/postdrop ). Si je désactive l'accès aux users de base à la commande postdrop avec un chmod o-x /usr/sbin/postdrop , les utilisateurs non root ne peuvent plus envoyer de mail via la commande sendmail, y compris les scripts PHP :
Code:
moi@babasse:~$ ./sendEMail.sh sendmail: fatal: execvp /usr/sbin/postdrop: Permission denied sendmail: warning: command "/usr/sbin/postdrop -r" exited with status 1 sendmail: fatal: moi@babasse.mondomaine.com(1000): unable to execute /usr/sbin/postdrop -r: Success
Sinon, une manière un peu plus propre de faire cela serait de configurer postfix pour interdire à certains utilisateurs d'utiliser la commande sendmail / postdrop. Voir authorized_submit_users .
--
AnonymousCoward