我的主文件夹中的 Apache 权限

我的主文件夹中的 Apache 权限

我有一台运行 Ubuntu 10.04 的专用服务器,有 10 个用户。几周前,我为每个用户配置了带别名的 Apache,每个人都在自己的 /home/ 中有一个 www/,并且我为每个 www/ 指定了一个子域

Alias /foo /home/foo/www/
    <Directory /home/foo/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

它对普通网站来说运行良好,但当我想在 PHP 中使用一些 shell_exec 时,我遇到了一些权限问题。Apache 没有足够的权限写入文件夹。我尝试将 www-data 组添加到 www/ & 以授予我的用户 www-data 权限,但它不起作用...

以下是 ls -a 命令的结果

drwxr-xr-x  8 foo www-data  4096 2012-07-24 08:44 www/

有什么线索可以解决这个问题吗?

答案1

您需要使用用户目录而是使用 Apache 中的模块来实现这一点。

它允许 Apache 访问用户主目录中的特定目录 - 默认情况下

/主页/foo/public_html

http://www.techytalk.info/enable-userdir-apache-module-ubuntu-debian-based-linux-distributions/有一个关于如何设置的非常好的指南。

答案2

根据您当前对 www 文件夹的权限方案,-groupwww-data仅具有对该目录的读取和执行权限。使用以下命令授予其写入权限:

chmod 0775 www

如果目录包含更多目录,需要递归应用新的权限,可以运行以下命令:

find www -type d -exec chmod 0775 '{}' \;
find www -type f -exec chmod 0664 '{}' \;

相关内容