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, 나는 아무도 없이 log.txt 파일을 삭제하려고 시도했습니다. 또한 implantd전송 스크립트를 호출하는 데 사용해야 하는 특정 사용자를 생성했음을 알 수 있습니다 .

누구든지 내가 뭘 잘못하고 있는지 조언할 수 있나요?

관련 정보