Forum Linux.général mini_sendmail et Apache2 chroot

Posté par  .
Étiquettes : aucune
0
1
fév.
2007
Bonjour,

Je me permets de venir vers vous car je bloque depuis maintenant quelques jours sur un problème qui, j'en suis sûr, est en fait tout bête.

J'ai chroot apache dans /var/chroot/apache2, et forcément la fonction mail() de PHP ne fonctionne plus.

J'ai donc lu ce très bon article : http://www.cyberciti.biz/tips/howto-setup-sendmail-php-mail-(...) et suivi la procédure pas à pas afin d'installer mini_sendmail, un petit mailer permettant d'envoyer des mails à l'interieur du chroot.

Seulement avec ma grande chance, et bien cela ne fonctionne pas. Je n'ai aucune erreur dans les logs, à part dans le error.log de apache ou j'ai la ligne suivante :

/usr/sbin/sendmail: can't determine username

Toute aide serait la bienvenue :) Merci d'avance !
  • # J'opterais plutôt pour la solution #1 :-)

    Posté par  . Évalué à 1.

    Bonjour,

    Après avoir lu l'article, la première solution me parait être la plus simple.
    Etant donné qu'il y a un serveur SMTP qui tourne (peut-être même juste un relais vers un SMTP extérieur), et sous réserve que le chroot ne soit pas trop "strict" (n'empêche pas les connexions IP), tu peux utiliser la classe SMTP du PHP ou équivalent.

    Chrooter une application n'est pas chose simple ^__^

    Bon courage !

    Cdlt,

    PS: En regardant un peu le code [http://j-chkmail.ensmp.fr/j-bench/msg-source/msg-source/mini(...)], on trouve

    username = getlogin();
    ...
    struct passwd *pw = getpwuid(getuid());

    ou dans un autre code [http://www.shellsnet.org/wiki/index.pl?SN_Admin_TracingNobod(...)]

    ...
    struct passwd* pw = getpwuid(geteuid() );

    => Voir s'il n'y aurait pas un problème au niveau: de l'environnement (variables type LOGIN, USER, ...) et/ou s'il y a des fichiers type /etc/passwd, /etc/group, ... dans le chroot

    PS2: Sans grandes convictions, désolé !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.