Apache userdirs 的标准所有权/权限设置是什么?

Apache userdirs 的标准所有权/权限设置是什么?

在 apache 中启用 userdirs(即 ~/public_html)时,设置 public_html 目录的所有权和权限的标准方法是什么?理想情况下,我希望授予 apache 服务器在该目录中执行任何操作的权限,而无需使整个目录对所有人都可写。有没有标准方法可以做到这一点?

如果解决方案涉及设置特定的所有权或权限,如何确保在该目录中创建的任何新文件都会自动获得适当的权限?

答案1

通常在多用户系统上,您只需将目录设置为可执行文件,并使目录中的所有文件保持公开可读。

如果您自己运行服务器,则可以将组设置为与 Apache 组相同的组,并将目录组设置为可写。此外,您还需要 SGID,以便目录中创建的任何内容都继承所有权。

chmod 2771 /path/to/public_html/incoming

答案2

如果有 ACL,则输入以下内容/etc/cron.daily/public_html将确保 www-data 系统用户对所有 public_html 文件夹具有完全访问权限:

#!/bin/sh

HOME_DIR="/home"
WWW_DIRNAME="public_html"
WWW_USER="www-data"

setfacl -Rm "u:${WWW_USER}:rwX,d:u:${WWW_USER}:rwX" "$HOME_DIR/*/$WWW_DIRNAME"

相关内容