Mails verschicken via PHP-Fkt. mail() in einem jail

crotchmaster

happy BSD user
Hi,

ich scheitere gerade an folgendem, dringendem Problem.

Ich habe hier einen Webserver mit FreeBSD 5.4 mit Apache und PHP4. Mit der PHP-Funktion mail(), die das eingebaute sendmail nutzen soll, sollen Mails verschickt werden.
Der Webserver mit PHP4 läuft in einem Jail.
Es scheint irgendwie ein Rechteproblem zu sein. Aber irgendwie finde ich die Lösung nicht.
Ich habe auch den www-User, unter dem der Indianer läuft, schon in die Gruppe smmsp aufgenommen, aber das hat nichts gebracht. Ich möchte gerne den onboard-Sendmail nutzen und ein smarthost steht auch nicht zur Verfügung.

Hier der Output von /var/log/maillog:
Code:
Nov  2 11:52:17 www sendmail[74820]: jA2AqHwv074820: SYSERR(www): collect: Cannot write ./dfjA2AqHwv074820 (bfcommit, uid=80, gid=80): Permission denied
Nov  2 11:52:17 www sendmail[74820]: jA2AqHwv074820: from=www, size=62, class=0, nrcpts=1, relay=www@localhost
Nov  2 11:52:17 www sendmail[74820]: jA2AqHwv074820: SYSERR(www): queueup: cannot create queue file ./qfjA2AqHwv074820, euid=80, fd=-1, fp=0x0: Permission denied
Nov  2 12:03:53 www sendmail[74927]: jA2B3rMc074927: SYSERR(www): collect: Cannot write ./dfjA2B3rMc074927 (bfcommit, uid=80, gid=80): Permission denied
Nov  2 12:03:53 www sendmail[74927]: jA2B3rMc074927: from=www, size=62, class=0, nrcpts=1, relay=www@localhost
Nov  2 12:03:53 www sendmail[74927]: jA2B3rMc074927: SYSERR(www): queueup: cannot create queue file ./qfjA2B3rMc074927, euid=80, fd=-1, fp=0x0: Permission denied

meine /etc/rc.conf sieht so aus:
Code:
root@www# less /etc/rc.conf
# sshd
sshd_enable="YES"

# Sendmail
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="YES"
sendmail_submit_enable="YES"

# Syslog Daemon
syslogd_flags="-ss"

# Apache 2.0.x
apache2_enable="YES"

# MySQL 4.1.x
mysql_enable="YES"
mysql_dbdir="/usr/local/mysql"

Ich hoffe, das hier mir jemand helfen kann.

Danke und Gruß c.
 
ich habe ähnliches laufen. Bei mir gibt der im jail laufende sendmail die Sachen an den Host weiter...

aber zu deinem Problem...

hast du mal manuell Mails verschickt? Per mail user@host.com (Ctrl-D in leerer Zeile zum absenden).
was für Rechte hat das mailspool /var/spool? Anscheinend kann er dort nix ablegen...
 
Hi,

der Versand aus der jail via
Code:
sendmail -t user@domain.tld
From: user@domain2.tld
Subject: test
blablubb
.

geht. Die Rechte sehen so aus:

Code:
root@www# ls -al /var/spool
total 16
drwxr-xr-x   8 root   wheel  512 Sep 21 14:12 .
drwxr-xr-x  21 root   wheel  512 Oct 27 09:53 ..
drwxr-x---   2 smmsp  smmsp  512 Nov  2 12:44 clientmqueue
drwxr-xr-x   2 root   wheel  512 Oct 27 09:53 lock
drwxr-xr-x   2 root   wheel  512 Sep 21 14:12 lpd
drwxr-xr-x   2 root   wheel  512 Nov  2 12:44 mqueue
drwx------   2 root   wheel  512 Sep 21 14:12 opielocks
drwxr-xr-x   3 root   wheel  512 Sep 21 14:12 output

Gruß c.
 
Bytesplit schrieb:
mach das mal mit nem su als www.

Da bekomme ich schon nach der Eingabe von 'sendmail -t user@domain.tld'

Code:
WARNING: RunAsUser for MSP ignored, check group ids (egid=80, want=25)
can not chdir(/var/spool/clientmqueue/): Permission denied
Program mode requires special privileges, e.g., root or TrustedUser.

Wenn ich die Rechte für /var/spool/clientmqueue auf 777 setze, geht es. Das ist allerdings in meinen Augen ein ganz dreckiger Hack und keine Lösung.
 
group 25, ist das nicht sendmail oder smtp?

Dem www wirst du vielleicht die Gruppenrechte zuweisen müssen, damit er auch in den spool schreiben kann. Aber ich erinner mich nicht, das ich das bei mir gemacht hätte.

www gibt dem sendmail doch eigentlich die Email, damit er da rumfuddelt. Ob also das group-setzen die richtige Lösung ist, wage ich zu bezweifeln.

Muss da heut Abend nochmal bei mir draufschauen, jetzt wirds hier gerade bischen hektisch.
 
Zurück
Oben