POSTFIX main.cf 权限被拒绝

POSTFIX main.cf 权限被拒绝

我正在尝试设置一个用于 smtp 中继的 postfix 服务器。Centos 5.5

我已经关注http://mhawthorne.net/posts/postfix-configuring-gmail-as-relay.html但是在尝试重新启动或重新加载 postfix 时收到失败错误。

当我做:

cat maillog

我得到:

fatal: open /etc/postfix/main.cf: Permission denied

以下是我尝试过的:

chown postfix /etc/postfix/main.cf
chmod u+rwx /etc/postfix/main.cf

之后,我会这样做:

ls -l /etc/postfix/main.cf

这给了我:

-rwx------. 1 postfix anotheruser 27531 Apf 29 12:19 /etc/postfix/main.cf

不行。同样的错误。我甚至尝试临时执行 chmod 777,但出现了同样的错误。

对权限问题有什么想法吗?我假设它以 postfix 用户身份运行该服务。

谢谢

答案1

几乎可以肯定与 SELinux 有关。我敢打赌你已将 main.cf 移至该位置。

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

答案2

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

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

-P上述命令中执着的(跨重启)

答案3

这很可能与 SELinux 访问控制有关。CentOS 默认具有“强制”SELinux 模式。请使用以下命令检查 SELinux 的状态:

# sestatus

如果输出如下内容:

SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

您需要更改 main.cf 的安全上下文,并且可能更改其他 postfix 配置文件。在我的计算机上,它设置为:

-rw-r--r--. root root system_u:object_r:postfix_etc_t:s0 /etc/postfix/main.cf

尝试以下方法来设置适当的上下文:

 # chcon -v -u system_u -r object_r -t postfix_etc_t /etc/postfix/main.cf
 # restorecon -v -R  /etc/postfix/

核实:

 # ls -Z /etc/postfix/

答案4

就我的情况而言,这是因为 selinux 不允许 apache (PHP) 发送电子邮件。修复方法如下:

setsebool -P httpd_can_sendmail=1

相关内容