我在一台装有20GB硬盘的旧机器上运行Linux(Lubutu 12.10)。我有一个1 TB的外置硬盘驱动器,上面有一个NTFS分区。在该分区上,有一个www目录,用于保存我的Web内容。它在启动时自动安装为/ media / t515 / NTFS。
我想将/ var / www中的apache文档目录更改为/ media / t515 / NTFS / www。
我需要将分区保留为NTFS分区,因为我在运行WAMP的其他计算机上使用相同的硬盘驱动器。
我将/ etc / apache2 / sites中的文件“default”更改为新位置,然后重新启动服务器。当我试图去当地主机时,我收到了错误:
403 Forbidden 您无权访问此服务器上的/。
然后我更改了fstab中的automount选项以包含选项“umask = 0000”,然后更改为“umask = 2200”,两者都无济于事。我仍然收到相同的错误消息。
我可以从其他应用程序访问NTFS分区,并以任何用户身份登录。但Apache似乎无法(或不愿意)访问该分区。如何授予apache使用NTFS分区上的目录的权限?
答案 0 :(得分:5)
经过多次尝试之后,这对我来说是成功的而没有别的:更改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
答案 1 :(得分: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
sudo blkid
为ntfs分区添加或编辑一行
# change the "UUID" to your partition UUID UUID=12102C02102CEB83 /media/windows ntfs-3g auto,users,permissions 0 0
制作挂载点(如果需要)
sudo mkdir / media / windows
现在挂载分区
mount / media / windows
我给你的选项auto,将自动挂载分区 当你启动时,用户允许用户挂载和卸载。
然后,您可以在ntfs分区上使用chown和chmod。
两者都在这里找到:https://askubuntu.com/questions/11840/how-to-chmod-on-an-ntfs-or-fat32-partition
答案 2 :(得分:1)
上述答案都没有解决问题,事实上,问题与Apache本身有关,而与文件系统或权限无关。
您唯一需要做的是:
<Directory "/www/mywebdirectoryinapartitioneddisk">
Require all granted
</Directory>
这将解决问题
这里的帖子在我的博客中详细解释了一切。它可以在NTFS上运行
答案 3 :(得分:0)
实际上非常简单:
1)在Windows主机上创建本地用户
2)向该用户授予适当的NTFS权限
3)验证访问权限(仅限Windows)
......那......
4)在Linux上配置你的NTFS挂载以使用相同的 Windows用户和组(Linux用户/组在这里无关紧要)
5)配置Apache使用该Linux组(Linux用户/组必需)