CentOS 7 acl 不适用于 apache

CentOS 7 acl 不适用于 apache

我想通过 cgi 脚本访问用户目录。我成功地在目录上设置了 acl,但脚本在尝试访问该目录时仍然显示“权限被拒绝”。我改用 apache 并遇到同样的问题(因此这不是 web 服务器/脚本问题)。我遗漏了什么?

# getfacl /home/pmedrano/Maildir/cur/
getfacl:从绝对路径名中删除前导“/”
# 文件:home/pmedrano/Maildir/cur/
# 所有者: pmedrano
# 群组:pmedrano
用户::rwx
用户:apache:rx
团体:: - -
组:apache:rx
掩码::rx
其他:: - -
默认值:用户::rwx
默认:用户:apache:rx
默认:组::---
默认:组:apache: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/:权限被拒绝
bash-4.2$

答案1

你很可能已经SELinux已启用 - 无论权限如何,这都会阻止 Apache 访问您的 Maildir。

您可以

  1. 完全禁用 SELinux /etc/sysconfig/selinux- 不推荐
  2. 授予 Apache 访问 Maildir 文件的权限 - 查看audit2allow工具

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

相关内容