如何使用用户和路径将postfix输入传递给特定脚本?

时间:2016-03-08 18:02:20

标签: linux postfix-mta

如何将特定用户的电子邮件传递给脚本以及使用特定用户的登录名运行该脚本。

我在/etc/postfix/master.cf文件中有这个:

my_transport unix  - n n - 50 pipe
  flags=R user=deploy argv=/srv/www/myscript

我的脚本将$PATHwhoami打印到文件中,这就是我得到的

PATH=/usr/bin:/bin
whoami = deploy

如果我运行sudo su - deploy并运行echo "PATH=$PATH"echo "whoami = $(whoami)"我就会

PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
whoami = deploy

如何将postfix运行myscript作为部署用户,但使用它的真实路径,而不是短路径。

谢谢!

1 个答案:

答案 0 :(得分:1)

我用一个新脚本做了一个肮脏的黑客,我用来调用我的旧脚本

PATH=/home/deploy/.rbenv/bin:/home/deploy/.rbenv/shims:$PATH
source "$1"
exit $?

this diff

中的更多信息

希望这对其他人有用:D