4

我在具有 20GB 硬盘驱动器的旧机器上运行 Linux (Lubutu 12.10)。我有一个带有 NTFS 分区的 1 TB 外置硬盘。在该分区上,有一个 www 目录,其中包含我的 Web 内容。它在启动时自动挂载为 /media/t515/NTFS。

我想将 apache 文档目录从 /var/www 更改为 /media/t515/NTFS/www。

我需要将分区保留为 NTFS 分区,因为我在运行 WAMP 的不同机器上使用相同的硬盘驱动器。

我将 /etc/apache2/sites-available 中的文件“默认”更改为新位置,然后重新启动服务器。当我试图去本地主机时,我得到了错误:

403 Forbidden 您无权访问此服务器上的 /。

然后我将 fstab 中的自动挂载选项更改为包含选项“umask=0000”,然后更改为“umask=2200”,但均无济于事。我仍然收到相同的错误消息。

我可以从其他应用程序毫无问题地访问 NTFS 分区,并且以任何用户身份登录。但是 Apache 似乎无法(或不愿意)访问该分区。如何授予 apache 使用 NTFS 分区上的目录的权限?

4

4 回答 4

6

经过多次尝试,这对我来说是成功的,没有别的了:更改 Apache 的配置,使其不再使用www-data(Apache 用户)而是我自己的用户。

做起来很简单。在我的 Apache 版本中,要更改的两行在/etc/apache2/envvars文件中(它可以是另一个版本中的另一个文件):

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

我用www-data我的用户名替换(这里toto:)):

export APACHE_RUN_USER=toto
export APACHE_RUN_GROUP=toto
于 2014-03-05T22:47:57.837 回答
4

以我的经验,我总是不得不重新安装具有 RW 权限的驱动器。发现这个:

sudo mount -t ntfs -o rw,auto,user,fmask=0022,dmask=0000 /dev/whatever /mnt/whatever

或者:

对于 NTFS 分区,使用 fstab 中的权限选项。

首先卸载 ntfs 分区。

然后编辑/etc/fstab

图形 gksu gedit /etc/fstab

命令行sudo -e /etc/fstab

使用 blkid 识别您的分区 UUID

须藤 blkid

并为 ntfs 分区添加或编辑一行

# change the "UUID" to your partition UUID
UUID=12102C02102CEB83 /media/windows ntfs-3g auto,users,permissions 0 0

创建一个挂载点(如果需要)

sudo mkdir /媒体/windows

现在挂载分区

挂载/媒体/windows

我给你的选项 auto 会在你启动时自动挂载分区,用户允许用户 mount 和 umount 。

然后,您可以在 ntfs 分区上使用 chown 和 chmod。

两者都在这里找到:https ://askubuntu.com/questions/11840/how-to-chmod-on-an-ntfs-or-fat32-partition

于 2013-02-14T03:15:52.047 回答
1

None of the answers above solve the issue, in fact, the problem is related to Apache itself, not filesystem or permissions.

The only thing you need to do is :

<Directory "/www/mywebdirectoryinapartitioneddisk">
    Require all granted
</Directory>

this will solve the issue

here the post in my blog explaining everything in detail. It could work on NTFS

http://www.tbogard.com/2014/09/12/making-apache-server-to-read-a-partitioned-disk-the-definitive-solution/

于 2014-09-12T17:11:50.553 回答
0

其实很简单:

1)在Windows主机上创建本地用户

2) 向该用户授予适当的 NTFS 权限

3) 验证访问权限(仅限 Windows)

... 然后 ...

4) 在 Linux 上配置你的 NTFS 挂载以使用相同的Windows 用户和组(Linux 用户/组在这里无关)

5) 配置 Apache 以使用该 Linux 组(Linux 用户/组在这里是必不可少的)

于 2013-02-13T23:07:27.967 回答