CentOS 7 acl不适用于Apache

我想从一个CGI脚本访问用户的目录。 我成功地在目录上设置了acl,但是当试图访问该目录时脚本仍然获得“权限被拒绝”。 我su'd阿帕奇,并有相同的问题(所以它不是一个networking服务器/脚本问题)。 我错过了什么?

 #getfacl / home / pmedrano / Maildir / cur /
 getfacl:从绝对path名中删除前导'/'
 #file:home / pmedrano / Maildir / cur /
 #所有者:pmedrano
 #组:pmedrano
用户:: RWX
用户:阿帕奇:RX
组:: - -
组:阿帕奇:RX
面具:: RX
其他:: - -
默认:用户:: RWX
默认:用户:阿帕奇:RX
默认:组:: ---
默认:组:阿帕奇:RX
默认:面膜:: RX
默认:其他:: ---

 #su -s / bin / bash apache
 bash-4.2 $ ls / home / pmedrano / Maildir / cur /
 ls:无法访问/ home / pmedrano / Maildir / cur /:权限被拒绝
 bash-4.2 $ whoami
阿帕奇
 bash-4.2 $ getfacl / home / pmedrano / Maildir / cur /
 getfacl:/ home / pmedrano / Maildir / cur /:权限被拒绝
庆典-4.2 $

最有可能的是你已经启用了SELinux – 这将阻止Apache访问Maildir,无论权限如何。

你也可以

  1. 禁用/etc/sysconfig/selinux SELinux – 不推荐
  2. 让Apache访问Maildir文件 – 检出audit2allow工具

请注意,错误configurationSELinux可能会对服务器的安全性产生负面影响。