Postfix-Pipe wird immer als „Niemand“ ausgeführt

Postfix-Pipe wird immer als „Niemand“ ausgeführt

Das Problem

Ich möchte, dass Postfix E-Mails an ein Skript weiterleitet, das Dateien bearbeitet, die der www-dataGruppe gehören, die sich unter befindet /var/www/. Ich erhalte jedoch Fehlermeldungen, die auf unzureichende Berechtigungen hinweisen. Indem ich das Skript ausführen lasse whoami, kann ich bestätigen, dass es vom richtigen Benutzer ausgeführt wird scriptuser(wie in meiner /etc/postfix/transportDatei festgelegt). Ich kann auch bestätigen, dass der Benutzer über ausreichende Zugriffsrechte verfügt, da beim Ausführen des Skripts mit keine Fehler auftreten sudo -u scriptuser /path/to/script.

Daher bin ich ziemlich verwirrt und ein wenig verloren. Wie ist es möglich, dass der Benutzer Zugriffsrechte auf die Dateien hat, das Skript von Postfix als dieser bestimmte Benutzer ausgeführt wird und ich trotzdem die permission deniedMeldung erhalte?

Ich habe auch versucht, hinzuzufügen default_privs = www-data, /etc/postfix/main.cfwie in vorgeschlagenHierohne Erfolg. Das Aktivieren des Zugriffs über chmod o+rxfunktioniert, aber ich würde das als potenziell gefährlich einstufen, da jeder mit Shell-Zugriff auf den Server diese Dateien lesen könnte.

Die Konfigurationsdateien

# in file /etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
virtual_maps  = hash:/etc/postfix/virtual/addresses

# in file /etc/postfix/master.cf
mailreply   unix    -   n   n   -   -   pipe
  flags=FR user=scriptuser argv=/usr/lib/postfix/sbin/pipemailreply

# in file /etc/postfix/transport
mailreplyuser@localhost mailreply

# in file /etc/postfix/virtual/addresses
mydomain.com                     DOMAIN
@mydomain.com                    mailreplyuser@localhost

Die Dateirechte liegen bei /var/www/hmtl/(via ls -la):

drwxrws--- 4 www-data www-data  4096 Mar 13 00:41 .
drwxr-xr-x 3 root     root      4096 Mar 13 01:02 ..
-rw-r--r-- 1 root     www-data     8 Mar 13 00:15 test.txt

Die Fehlermeldung

Mar 13 10:13:21 myservername postfix/pipe[3545]: 774F3FEB3B: to=<mailreplyuser@localhost>, orig_to=<[email protected]>, relay=mailreply, delay=0.13, delays=0.07/0/0/0.06, dsn=5.3.0, status=bounced (Command died with status 1: "/usr/lib/postfix/sbin/pipemailreply". Command output: cat: /var/www/html/test.txt: Permission denied )

Antwort1

Ich habe „user=scriptuser“ in „user=scriptuser:scriptgroup“ geändert und es hat funktioniert.

http://www.postfix.org/pipe.8.html

verwandte Informationen