后缀管道到脚本:execvp 权限被拒绝错误

后缀管道到脚本:execvp 权限被拒绝错误

我是 Postfix 新手,正在尝试将消息通过管道传送到特定电子邮件地址到 bash 脚本。我正在运行 CentOS 6,以防万一。

我的脚本具有 777 权限(用于测试),当我向测试帐户发送电子邮件时,我看到 postfix 尝试运行该脚本。这是来自邮件日志的相关行:

2 月 16 日 15:08:40 lserver2 postfix/local[19675]: F4045103000: to=、orig_to=、relay=local、delay=1737、delays=1737/0.01/0/0.01、dsn=4.3.0、status=deferred(暂时失败。命令输出:local: fatal: execvp /data/scripts/testscript: 权限被拒绝)*

这看起来像是权限问题。当我尝试以“postfix”或“nobody”的身份运行我的脚本时,我收到错误:此帐户目前不可用。

我不知道接下来该怎么做……我读了几篇帖子,但都没有明确说明下一步该怎么做。(我不想将所有邮件重定向到脚本,而且对于如此简单的事情来说,一个答案看起来太复杂了)

答案1

foo例如,如果您的脚本归 拥有,请尝试以下操作:

  1. 创建/home/foo/.aliases并移动管道从 到 它 的 线/etc/aliases
  2. 跑步postalias /home/foo/.aliases
  3. 添加/home/foo/.aliasesalias_maps/etc/postfix/main.cf
  4. 重新启动 postfix。

/home/foo/.aliases请注意,和的所有者/home/foo/.aliases.db 必须foo

http://www.postfix.org/ADDRESS_REWRITING_README.html#aliases。 它说:

出于安全原因,向命令和文件目的地的传送都是以别名数据库所有者的权限进行的。

答案2

參閱这个答案在 SO 中,有 2 个选项,一个是 Tsutomu 分享的。

另外一个将会default_privs = <owner of the executing script>开始main.cf

它帮助解决了我的权限被拒绝的问题。

相关内容