POSTFIX main.cf 权限被拒绝

MG5*_*114 8 linux smtp postfix centos

我正在尝试为 smtp 中继设置后缀服务器。Centos 5.5

我已经关注了http://mhawthorne.net/posts/postfix-configuring-gmail-as-relay.html,但是在尝试重新启动或重新加载 postfix 时出现 FAILED 错误。

当我做:

cat maillog
Run Code Online (Sandbox Code Playgroud)

我得到:

fatal: open /etc/postfix/main.cf: Permission denied
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

chown postfix /etc/postfix/main.cf
chmod u+rwx /etc/postfix/main.cf
Run Code Online (Sandbox Code Playgroud)

在那之后,我这样做:

ls -l /etc/postfix/main.cf
Run Code Online (Sandbox Code Playgroud)

这给了我:

-rwx------. 1 postfix anotheruser 27531 Apf 29 12:19 /etc/postfix/main.cf
Run Code Online (Sandbox Code Playgroud)

没有骰子。同样的错误。我什至尝试暂时执行 chmod 777 但得到了同样的错误。

关于权限问题的任何想法?我假设它以 postfix 用户身份运行该服务。

谢谢

Met*_*iel 17

就我而言,其他答案对我没有帮助,因为我已经正确掌握了这些文件的上下文。即使应用了文件的正确上下文,您也需要确保 Apache 用户具有发送邮件的 SELinux 权限。具体有一个需要开启的 SELinux 配置。

  1. 验证设置是打开还是关闭: getsebool httpd_can_sendmail
  2. 如果你有httpd_can_sendmail --> off你可以通过这种方式启用此设置: sudo setsebool -P httpd_can_sendmail 1

上面命令中的-P表示Persistent(跨重启)

  • 这正是我的 LEMP 堆栈中的问题! (4认同)

Mat*_*Ife 11

几乎可以肯定与 SELinux 有关。我敢打赌你把 main.cf 移到了那个位置。

尝试运行restorecon -v /etc/postfix/main.cf以修复标签。

  • 要快速验证是否是 SELinux 的原因,请像这样暂时禁用它:`sudo setenforce 0` 如果现在一切正常,那么 SELinux 就是原因。运行 `sudo setenforce 1` 再次启用 SELinux 并按照建议解决问题 (2认同)