Apache在linux下访问NTFS链接文件夹


Apache access to NTFS linked folders in linux

在Debian jessie中使用Apache2/PHP,当我想在Apache (/var/www)的文档文件夹中创建一个新的子节时,我只需创建一个链接到我的PHP文件存在的外部文件夹,并简单地更改文件夹的所有者和权限,如下所示,它工作完美。

ln -s /home/myname/mynewcode /var/www/test1
chown -R www-data:www-data /home/myname/mynewcode
chmod -R 755 /home/myname/mynewcode

然后我可以访问http://localhost/test1

但是当我想要链接它的真正文件夹在NTFS分区上时,因为chown和chmod不起作用,我通过添加以下代码修改/etc/fstab,因此我的NTFS分区将以所需的权限和所有者挂载。

UUID=XXDDXDDXDDDXDDDD /media/myname/lable ntfs user,exec,uid=www-data,gid=www-data 0 2
ln -s /media/myname/lable/mynewcode2 /var/www/test2

但是我仍然从Apache2得到权限错误,我不知道该怎么做!!


禁止您没有权限访问此服务器上的/test2。
Apache/2.4.10 (Debian) Server at localhost Port 80

我不能提供一个100%有效的解决方案,但我有两点你可能想要检查。

首先,尝试将umask添加到fstab行。我认为这会导致权限错误。umask在挂载时为所有文件(644)和目录(755)添加正确的权限。你必须重新挂载NTFS文件夹!

UUID=XXDDXDDXDDDXDDDD /media/myname/lable ntfs user,exec,uid=www-data,gid=www-data,umask=022 0 2

您需要确保www-data用户能够将cd放入目标文件夹:

sudo su www-data -s bash && cd /media/myname/lable

第二,确保"FollowSymlinks"在特定文件夹上是允许的,我想你已经有了,但无论如何尝试:

<Directory "/media/myname/lable/">
    Options FollowSymLinks +Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory "/var/www">
    Options FollowSymLinks +Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

我假设NTFS分区属于Windows机器?您可以在Windows中共享它,并通过

将其挂载到Debian中

mount -t cifs //windows_host/share /var/www/test2 uid=xxx,gid=xxx,rw,sec=ntlmv 0 0

所以你不需要直接处理NTFS