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

当在Apache中启用userdirs(即〜/ public_html)时,设置我的public_html目录的所有权和权限的标准方式是什么? 理想情况下,我想给apache服务器权限,在该目录中执行任何想要的操作,而不会使整个事物变得可写。 有没有一个标准的方法来做到这一点?

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

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

如果您自己运行服务器,则可以将组设置为与Apache组相同的组,并将目录组设置为可写。 此外,你会想SGID,以便在目录中创build的任何东西inheritance所有权。

chmod 2771 /path/to/public_html/incoming

如果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"