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

TSG*_*TSG 6 permissions postfix centos pipe

我是 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 (暂时失败。命令输出:本地:致命:execvp /data/scripts/testscript:权限被拒绝)*

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

我不知道从哪里开始......我已经阅读了几篇没有给出明确下一步的帖子。(我不想将所有邮件重定向到脚本,对于这么简单的事情,一个答案看起来很复杂)

Tsu*_*omu 5

foo例如,如果您的脚本属于,请尝试以下操作:

  1. 创建管道并将其/home/foo/.aliases移至其中。/etc/aliases
  2. 跑步postalias /home/foo/.aliases
  3. 添加/home/foo/.aliasesalias_maps/etc/postfix/main.cf.
  4. 重新启动后缀。

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

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

出于安全原因,向命令和文件目标的传送是使用别名数据库所有者的权限执行的。

  • 我知道这个答案现在已经很旧了,但在 2017 年仍然相关。我想补充一点,添加 /home/foo/.aliases 文件需要将其作为 'alias_maps = 放入 /etc/postfix/main.cf 文件中哈希:/home/foo/.aliases' 和 'alias_database = 哈希:/home/foo/.aliases'。我忘记了最初尝试将其添加到数据库中的过程,并且 postfix 对我来说一直失败。 (3认同)