Linux 你没有';I don’我没有权限访问/使用此服务器ubuntu 14.04
议程:在Linux和Windows之间有一个公共项目文件夹 在我的ubuntu机器14.04中,我已将文档根目录从:Linux 你没有';I don’我没有权限访问/使用此服务器ubuntu 14.04,linux,apache,ubuntu,configuration,mount,Linux,Apache,Ubuntu,Configuration,Mount,议程:在Linux和Windows之间有一个公共项目文件夹 在我的ubuntu机器14.04中,我已将文档根目录从:/var/www/html更改为/media/mithun/Projects/test 我得到的错误是: 禁止 您没有访问/访问此服务器的权限 本地主机端口80上的Apache/2.4.7(Ubuntu)服务器 所以我添加了一些脚本到:sudogedit/etc/apache2/sites available/000 default.conf # DocumentRoot /var
/var/www/html
更改为/media/mithun/Projects/test
我得到的错误是:
禁止
您没有访问/访问此服务器的权限
本地主机端口80上的Apache/2.4.7(Ubuntu)服务器
所以我添加了一些脚本到:sudogedit/etc/apache2/sites available/000 default.conf
# DocumentRoot /var/www/html
DocumentRoot /media/mithun/Projects/test
但是文档根/var/www/test
可以工作,但不能与Windows NTFS分区驱动器一起工作
即使在提到:
没有成功:(所以请帮助我
注意:项目是一个新卷(内部驱动器:在Windows中为其E:/Drive)
@Lmwangi-请查看我的更新,以供参考:
输出:ls/etc/apparmor.d/
abstractions lightdm-guest-session usr.bin.evince usr.sbin.cupsd
cache local usr.bin.firefox usr.sbin.mysqld
disable sbin.dhclient usr.lib.telepathy usr.sbin.rsyslogd
force-complain tunables usr.sbin.cups-browsed usr.sbin.tcpdump
我试着杀了apparmor:
sudo/etc/init.d/apparmor kill
我接收的输出为:用法:/etc/init.d/apparmor
{start | stop | restart | reload | force reload | status | recache}
在此之后,我还能够成功地重新启动apache
也许问题很简单:www数据用户可以访问您的新根目录吗? 尝试:
正如您现在所发现的,您不能只操作NTFS分区上的权限(使用
chmod
)
但是,您可以尝试在装载整个分区时强制该分区具有给定的所有者/权限
现在,实现这一点的方法取决于您实际使用的NTFS实用程序(我不知道,所以我假设您使用的是NTFS-3g
)
例如,使用以下参数装入分区(用实际分区替换dev/sdX
,用目标路径替换/path/to/where
drive/is/mounted`):
应使分区上的所有文件都属于www-data
组
如果文件系统明确地设置了组所有权,这可能仍然不起作用。
在这种情况下,您可能需要设置一个usermap
,将您的windows用户/组(如分区上所示)映射到您的linux用户/组
ntfs-3g.usermap
实用程序将帮助您生成初始usermap文件,然后您可以根据需要编辑该文件:
ntfs-3g.usermap /dev/sdX
然后将usermap传递给装载选项:
mount -o usermapping=/path/to/usermap.file /dev/sdX /path/where/the/drive/is/mounted
我怀疑您有apparmor强制执行阻止Apache读取非白名单目录路径的规则
我的优先顺序是1,3,2。这应该可以为您解决这个问题:)在windows上使用ubuntu时,我遇到了同样的问题,通过重新安装具有读写访问权限的驱动器解决了这个问题。下面的命令将帮助您做到这一点:
sudo mount -o remount,rw /disk/location /disk/new_location
如果它仍然不工作,那么在windows操作系统中,转到电源选项并禁用快速启动
当您关闭启用快速启动的计算机时,Windows会锁定Windows硬盘。如果将计算机配置为双启动,则无法从其他操作系统访问它。更糟糕的是,如果您启动到另一个操作系统,然后访问或更改休眠Windows安装使用的硬盘(或分区)上的任何内容,则可能导致损坏。如果是双启动,最好不要使用快速启动或休眠
原创文章:我试过你的代码。它的抛出错误为:“chown:更改“/media/mithun/Projects”的所有权:不允许操作”在根目录中尝试。另外,如果你想知道这是否是真正的问题,试试ls-la/media/mithun/Projects,看看第三列和第四列是否设置为www-data(对Projects-one中的文件夹也一样),我没有看到它,它是一个windows分区。。。这将更加复杂。。。您的项目是否可以在线访问?如果没有,请尝试chmod777所有文件对不起,没有将其作为windows分区放在前面。在投了反对票后,我分析说,经过所有可能的努力,它是干净和清晰的。我尝试使用777设置权限,但仍然没有骰子:(我是否需要为/media/mithun/Projects complete目录或/media/mithun/Projects/test(存在项目文件夹的地方)分配777权限)现在很明显,由于NTFS分区的原因,这应该是一个正确的问题。也许您应该在这里尝试以下解决方案之一:步骤1是读取错误日志。在单处理器/调试模式下启动apache服务器。将strace附加到该服务器上,并找出引发错误的确切系统调用。您可以将其粘贴到问题中吗请注意,您可以尝试sudo-u www-data“ls/media/mithun/Projects/test”之类的东西。我的直觉是,您有apparmor或selinux或类似的东西挡住了您:)Hi@Lmwangi-我尝试了
sudo-u www-data“ls/media/mithun/Projects/test”
。它抛出了“未找到命令”错误。哦,请删除引号。应该是sudo-u www-data-ls/media/mithun/Projects/test或者更好的sudo-u www-data-strace-ls/media/mithun/Projects/testi尝试了你的第一步mount-o gid=www-data/dev/sdX/path/where/the/drive/is/mounted
,但在第二步失败-它抛出错误,因为无法打开“/dev/sda1”确保“/dev/sda1”未安装
。我也用gparted卸载了,我接受了答案,因为我付出了努力,但它还没有解决
mount -o usermapping=/path/to/usermap.file /dev/sdX /path/where/the/drive/is/mounted
sudo mount -o remount,rw /disk/location /disk/new_location