Am 13.03.2018 um 08:34 schrieb Carsten:


Am 12.03.2018 um 21:52 schrieb Walter H.:
On 12.03.2018 20:29, Carsten wrote:


Ja, postfix ist chrooted in der master.cf.
Jetzt habe angefangen, zu experimentieren, aber bis jetzt hat nichts geholfen. Zum Beispiel habe ich einfach mal die "/etc/passwd" und die "/etc/group" in das Verzeichnis "/var/spool/postfix/etc" kopiert und postfix neu gestartet.
Leider ohne eine sichtbare Änderung.
Die Frage scheint also lauten zu müssen: Wie bekomme ich den chroot des postfix dazu, eine group-datei zu lesen?
SELinux oder so kommt nicht zusätzlich ins Spiel, oder ist SELinux nur ein Feature von RHEL basierten Linuxen, was bei Dir ja nicht der Fall ist ...

Walter


Hallo,
SELinux hatte ich auch schon mal im Verdacht, ebenso, wie Apparmor, aber SELinux ist nicht aktiviert und Apparmor nur für den mysql deffiniert. und es bleibt ja im Raum, daß es von der Kommandozeile -also ohne den chroot; funktioniert.

Gruss
Carsten

Moin nochmal,
ich bekomm' hier echt einen an der Waffel -gibt Menschen, die behaupten, ich hätte da schon eine kleben ;-)

chroot oder nicht chroot. Das ist hier die Frage.
Laut syslog ist dieser Prozess: "postfix/local" für das Ausführen der aliases Pipe zuständig -zumindest wird es so im Syslog gemeldet: "..Mar 13 11:08:06 derdapp004 postfix/local[10609]: 8D8E741E10: to=<whups@localhost>, ..."

Schaue ich nun in die master.cf, so steht dort in der Zeile für den local:
"....
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
..."
was sich für mich ließt, daß er NICHT im chroot läuft.
Warum sollte also der Prozess die /etc/group nicht ziehen, wie die Ausgabe von $(groups) im Script vermuten läßt:
"...
#!/usr/bin/php
<?php
$shellex = shell_exec("logger INFO whoami: $(whoami)");
$shellex = shell_exec("logger INFO who am i: $(who am i)");
$shellex = shell_exec("logger INFO my id: $(id)");
$shellex = shell_exec("logger INFO my groups: $(groups)");
$shellex = shell_exec("touch /tmp/hallowelt.ini");
..."
ergibt:
"...
Mar 13 11:08:06 derdapp004 logger: INFO whoami: postfix-pipe
Mar 13 11:08:06 derdapp004 logger: INFO who am i:
Mar 13 11:08:06 derdapp004 logger: INFO my id: uid=1001(postfix-pipe) gid=1002(postfix-pipe) groups=1002(postfix-pipe)
Mar 13 11:08:06 derdapp004 logger: INFO my groups: postfix-pipe
..."

Komme ich aus der Kommandozeile mit einem
"...
sudo -u postfix-pipe /tmp/testmail
..."
steht im syslog:
"...
Mar 13 11:19:24 derdapp004 logger: INFO whoami: postfix-pipe
Mar 13 11:19:24 derdapp004 logger: INFO who am i:
Mar 13 11:19:24 derdapp004 logger: INFO my id: uid=1001(postfix-pipe) gid=1002(postfix-pipe) groups=1002(postfix-pipe),1001(www-horde)
Mar 13 11:19:25 derdapp004 logger: INFO my groups: postfix-pipe www-horde
..."

Inhalt der /tmp/testmail:
"...
echo "From: root@[mydn.tld]_
To: whups@[mydn.tld]_
subject: Monitoring: Testticket_
_
Hello World_
_"|/usr/bin/whups-mail-filter -g -a carsten@[mydn.tld] -Q 5;
..."

Ich habe die MANPAGES von Postfix jetzt rauf und runter gelesen, aber irgendwas muss ich übersehen, oder?

Ich bin.... not amused....
gruss
Carsten

Antwort per Email an