更改呼叫 postfix 傳輸腳本的用戶

更改呼叫 postfix 傳輸腳本的用戶

我正在嘗試將收到的電子郵件透過管道傳輸到腳本進行處理。我在 master.cf 中定義了一個自訂 Postfix 傳輸,如下所示。

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

這有效,local_recipient_map 中定義的電子郵件透過管道傳輸到腳本,但是我遇到了權限問題。似乎腳本(implantproc.py)沒有對需要運行的檔案的寫入權限。例如,顯示權限錯誤的 NDR。

<[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'

據我了解,預設情況下 postfix 在 下運行nobody/nogroup,但我嘗試與無人一起 chowning log.txt 檔案。另外,您會注意到我已經建立了一個特定使用者 ,implantd該使用者應該用於呼叫傳輸腳本。

誰能告訴我我做錯了什麼?

相關內容