Am 13.03.2018 um 08:01 schrieb J. Fahrner:
Am 2018-03-12 20:29, schrieb Carsten:
Ja, postfix ist chrooted in der master.cf.
Die Frage scheint also lauten zu müssen: Wie bekomme ich den chroot
des postfix dazu, eine group-datei zu lesen?

Gar nicht. Das bei chroot angegebene Verzeichnis wird für diesen Prozess (und alle Subprozesse) zum "root", du hast keinen Zugriff mehr auf alles was außerhalb davon ist. Dir fehlt also nicht nur dein PHP Script, sondern der ganze PHP Interpreter und alles was der so benötigt (config, Libraries, Datenbank, usw.).
Für das was du vor hast darfst du Postfix nicht mit chroot laufen lassen.

Hallo
Die Aussage kann so nicht stimmen.
Dann würde er das "whups-mail-filter" ja überhaupt nicht ziehen und das tut er.
Sonst hätte ich die Ausgabe der Zeilen
"..
$shellex = shell_exec("logger INFO my id: $(id)");
$shellex = shell_exec("logger INFO my groups: $(groups)");
.."
ja gar nicht im syslog zu sehen bekommen:
"...
Mar 12 17:56:42 derdapp004 logger: INFO my id: uid=1001(postfix-pipe) gid=1002(postfix-pipe) groups=1002(postfix-pipe)
Mar 12 17:56:42 derdapp004 logger: INFO my groups: postfix-pipe
..."

Und die Fehlermeldung in dieser Form wäre auch nicht existent:
"...
Mar  8 12:40:38 derdapp004 postfix/local[30799]: 04C7040C4C: to=<whups@localhost>, orig_to=<whups@[mydn.tdl]>, relay=local, delay=0.58, delays=0.09/0.04/0/0.45, dsn=5.3.0, status=bounced (Command died with status 255: "/usr/bin/whups-mail-filter -g". Command output: PHP Warning: require_once(/usr/share/php/www/horde/whups/lib/Application.php): failed to open stream: No such file or directory in /usr/bin/whups-mail-filter on line 73 PHP Fatal error: require_once(): Failed opening required '/usr/share/php/www/horde/whups/lib/Application.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/whups-mail-filter on line 73 )
..."

Auch würde ich dann im strace kein "permission denied" sehen, sondern ein "not found"
"...
[...snip...]
gettimeofday({1520811096, 605233}, NULL) = 0
lstat64("/var/www/horde/whups/lib/Application.php", 0xbec64008) = -1 EACCES (Permission denied)
gettimeofday({1520811096, 605766}, NULL) = 0
lstat64("/var/www/horde/whups/lib/Application.php", 0xbec63f18) = -1 EACCES (Permission denied)
gettimeofday({1520811096, 606180}, NULL) = 0
lstat64("/var/www/horde/whups/lib/Application.php", 0xbec65fe0) = -1 EACCES (Permission denied) lstat64("/var/www/horde/whups/lib", 0xbec65ee0) = -1 EACCES (Permission denied)
lstat64("/var/www/horde/whups", 0xbec65df0) = -1 EACCES (Permission denied)
lstat64("/var/www/horde", {st_mode=S_IFDIR|0770, st_size=4096, ...}) = 0
lstat64("/var/www", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/var", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/var/www/horde/whups/lib/Application.php", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
[...snip...]
..."

Also "gar nicht" im Sinne dieser Grundlage kann nicht stimmen.

Gruss
Carsten

Antwort per Email an