Benutzer ändern für den Aufruf des Postfix-Transportskripts

Benutzer ändern für den Aufruf des Postfix-Transportskripts

Ich versuche, empfangene E-Mails zur Verarbeitung an ein Skript weiterzuleiten. Ich habe in master.cf einen benutzerdefinierten Postfix-Transport wie folgt definiert.

transpire unix  -       n       n       -       -       pipe
  flags=Rq user=implantd argv=/opt/transpire/bin/implantproc.py $recipient > /dev/null 2>&1

Das funktioniert, die in der local_recipient_map definierten E-Mails werden an das Skript weitergeleitet, allerdings habe ich ein Berechtigungsproblem. Es scheint, als ob das Skript (implantproc.py) keine Schreibberechtigung für eine Datei hat, die es ausführen muss. Beispielsweise zeigt ein NDR den Berechtigungsfehler an.

<[email protected]>: Command died with status 1:
    "/opt/transpire/bin/implantproc.py". Command output: Traceback (most recent
    call last):   File "/opt/transpire/bin/implantproc.py", line 11, in
    <module>     open("log.txt", 'a').write("test!") IOError: [Errno 13]
    Permission denied: 'log.txt'

Final-Recipient: rfc822; [email protected]
Original-Recipient: rfc822;[email protected]
Action: failed
Status: 5.3.0
Diagnostic-Code: x-unix; Traceback (most recent call last):   File
    "/opt/transpire/bin/implantproc.py", line 11, in <module>
    open("log.txt", 'a').write("test!") IOError: [Errno 13] Permission
    denied: 'log.txt'

Ich habe/habe verstanden, dass Postfix standardmäßig unter läuft nobody/nogroup, aber ich habe versucht, die Datei log.txt mit nobody zu chownen. Außerdem werden Sie feststellen, dass ich einen speziellen Benutzer erstellt habe, implantd, der zum Aufrufen des Transportskripts verwendet werden soll.

Kann mir jemand sagen, was ich falsch mache?

verwandte Informationen