您无权访问此服务器上的 / - 将默认 www 更改为 NTFS 驱动器

您无权访问此服务器上的 / - 将默认 www 更改为 NTFS 驱动器

我已经为这个问题苦苦挣扎了好几天。我试图更改 LinuxMint16 下 Apache/2.4.6 (Ubuntu) Web 服务器的默认 www 目录,并使其指向我与另一个 Windows 安装共享的 NTFS 硬盘。此硬盘安装在 /media/crash/Yari 下,无论我怎么尝试,都不起作用。而如果我将默认 www 目录更改为安装 Linux 的同一硬盘上的其他目录,则一切都会按预期运行。

以下是我为了使事情正常运转而做出的所有改变:

我想要的新 www 文件夹是 /media/crash/Yari/www 因此我编辑了 /etc/apache2/apache2.conf 文件:

DocumentRoot /media/crash/Yari/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /media/crash/Yari/www>
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

之后,正如我从这篇文章中看到的那样 https://askubuntu.com/questions/11840/how-to-chmod-on-an-ntfs-or-fat32-partition/91054#91054 我已经通过输入确定了我的硬盘 UUID

sudo blkid

并编辑文件 /etc/fstab 添加此行 UUID=#my-hd-uuid# /media/crash/Yari ntfs-3g auto,users,permissions 0 0

为了确保 apache 用户(在我的情况下为 www-data)有权访问新的 www 目录中的文件,我已使用以下命令更改了硬盘内所有文件的组和所有者

sudo chgrp -R www-data /media/crash/Yari
sudo chown -R www-data /media/crash/Yari
sudo chmod -R 775 /media/crash/Yari

我已经通过以下方式检查了新 www 目录及其所包含文件的权限

sudo ls -l /media/crash/Yari

并且所有文件和目录都显示为 drwxrwxr-x 1 www-data www-data,因此之前的权限修改正确完成。

不幸的是,我肯定遗漏了一些东西,因为以上所有方法都没用!希望有人能帮忙,非常感谢你的帮助。

答案1

为了让 apache 访问某个目录,它必须不仅拥有该目录的访问权限,还必须拥有该目录上层所有目录的访问权限。因此,您需要允许 www-data 对/media/media/crash以及具有读取访问权限/media/crash/Yari

一般情况下,我建议 apache 用户不要拥有对网页所在目录的写入权限。允许写入用于日志、运行/pid 文件和任何缓存文件的目录就足够了。当然,如果您有一个写入磁盘的 cgi 应用程序,您必须允许它这样做,但将任何此类文件保存在单独的目录中会更安全。

无论如何,要解决眼前的问题,要么将/media和的组所有权更改/media/crash为 www-data,要么将其权限更改为 755。

答案2

我有点害怕更改权限,/media因为该目录下还有另外 2 个硬盘,我必须在 Windows 下使用,而最后的权限更改/media/crash/Yari使得该硬盘在 Windows 下不可写入。

/etc/fstab所以我所做的就是通过更改行来编辑文件

UUID=#my-hd-uuid# /media/crash/Yari ntfs-3g auto,users,permissions 0 0

进入

UUID=#my-hd-uuid# /sharedhd ntfs-3g auto,users,permissions 0 0

新的默认 www 就会存在/sharedhd/www,而我不需要更改/media和的权限/media/crash

最后我想指出的是,使用

sudo chgrp -R www-data /media/crash/Yari
sudo chown -R www-data /media/crash/Yari

对我来说,这是一个错误,因为它破坏了 Windows 中的所有权,导致所有文件和文件夹无法访问。我唯一要做的就是更改文件/etc/fstab并更改权限

sudo chmod -R 777 /sharedhd

不幸的是,通过授予 775 权限,我无法在 Windows 下编辑相同的文件和目录,所以我被迫使用 777...如果这种方法有一些我应该知道的缺点,或者如果有更好的方法可以在不授予所有文件的 root 访问权限的情况下做到这一点,请告诉我!

相关内容