localhost php 文件的正确权限是什么?出现 403 错误

localhost php 文件的正确权限是什么?出现 403 错误

这让我抓狂了。真的抓狂了。

简短的故事。我创建了一个符号链接:

sudo ln -s /home/richardmandx/Dropbox/www /var/

当我进入本地主机(通过 sudo task-sel lamp-server 安装)

You don't have permission to access / on this server.

问题是,我已经尝试了 2-3 个小时来让它工作,而且我已经更改了权限,所以现在我真的很混乱。

我想要完成的事情:

1) 需要再次修复 /home/richardmandx 和 /home/richardmandx/Dropbox/www 的权限

2)我不知道符号链接 /var/www 是否继承了权限,如果没有,我认为需要修复它们。

3)通过配置需要做的任何事情来摆脱 403 错误。

我敢发誓这在 ubuntu 8-9 中是一项简单的任务,但在 ubuntu 11-12 中对我来说却很难完成。

如果这有帮助,当我在 /home/richardmandx 中运行 ls -la 时,我有这个(中继):

drwxr-xr-x  5 root         root          4096 ago 17 20:52 ..
-rw-------  1 richardmandx richardmandx  2344 ago 17 22:37 .bash_history
-rw-r--r--  1 richardmandx richardmandx   220 ago 17 14:59 .bash_logout
drwx------  6 richardmandx richardmandx  4096 ago 17 19:52 .cache
drwxr-xr-x 14 richardmandx richardmandx  4096 ago 17 20:03 .config
drwx------  3 richardmandx richardmandx  4096 ago 17 15:23 .dbus
drwxr-xr-x  2 richardmandx richardmandx  4096 ago 17 20:33 Descargas
-rw-------  1 richardmandx richardmandx    28 ago 17 22:40 .dmrc
drwxr-xr-x  2 richardmandx richardmandx  4096 ago 17 15:23 Documentos
drwx------  3 richardmandx richardmandx  4096 ago 17 23:00 .dropbox
drwx------  4 richardmandx richardmandx  4096 ago 17 22:40 Dropbox
drwxr-xr-x  3 richardmandx richardmandx  4096 ago 17 20:31 .dropbox-dist
drwxr-xr-x  2 richardmandx richardmandx  4096 ago 17 15:23 Desktop

/home/richarmandx/Dropbox/www 内部如下所示:

drwxr-xr-x  6 www-data     www-data       4096 ago 17 20:56 pyrocms
drwxr-xr-x  5 www-data     www-data       4096 ago 17 20:58 ricvega
drwxr-xr-x  6 www-data     www-data       4096 ago 17 20:58 ser-website
drwxr-xr-x  3 www-data     www-data       4096 ago 17 20:37 slate
drwxr-xr-x  9 www-data     www-data       4096 ago 17 21:13 sofom
drwxr-xr-x  6 www-data     www-data       4096 ago 17 20:59 tzz
drwxr-xr-x 11 www-data     www-data       4096 ago 17 20:58 vanilla

最后,我的符号链接 /var/www 如下所示:

drwxr-xr-x  6 www-data     www-data       4096 ago 17 20:56 pyrocms
drwxr-xr-x  5 www-data     www-data       4096 ago 17 20:58 ricvega
drwxr-xr-x  6 www-data     www-data       4096 ago 17 20:58 ser-website
drwxr-xr-x  3 www-data     www-data       4096 ago 17 20:37 slate
drwxr-xr-x  9 www-data     www-data       4096 ago 17 21:13 sofom
drwxr-xr-x  6 www-data     www-data       4096 ago 17 20:59 tzz
drwxr-xr-x 11 www-data     www-data       4096 ago 17 20:58 vanilla

有好心人能帮我解决这个问题吗?

先感谢您!!!

答案1

我对 www-data 的理解是,没有任何文件或目录属于该用户。Apache 以该用户身份运行,关键在于 www-user 的权限较低,不拥有文件或无权更改文件。

我认为实际所有者应该是您或 root,因此 www-data 将具有只读权限,而不是 rwx 权限。

/var您是否在中创建了链接/home/richardmandx/Dropbox/www?我不明白您为什么要这样做。对于我的个人测试服务器,我所做的就是~/www通过编辑 在 中创建虚拟服务器,/etc/apache2/sites-enabled/000-default然后将其更改/var/www/home/me/www,或者在我想要使用的任何目录中添加更多虚拟服务器。

编辑:

如果这是一台没有一般外部访问权限的家庭服务器,我认为最简单的开发方法是将本地服务器从/var/www(由 root 拥有)更改为您的主目录/www,或类似名称。您也可以将所有者/var/www从 root 更改为您自己,为组/其他人提供 r-- 权限。这是 root 为所有者时的正常权限。

让自己成为所有者可以更轻松地编辑文件,因为您不需要来回复制或使用 sudo。另一个选项是挂载到/var/www您拥有的目录中,但您可能需要为权限提供额外的选项。这可能比听起来更容易。

如果您确实有外部访问权限,那么最好保持正常设置。我在测试 12.04 VM 上有一个干净的默认服务器,使用标准安装进行设置,运行良好。 /var/www由 root 拥有,for the directory, and文件权限为“drwxr-xr-x -rw-r---r--”。如果我的理解正确,任何地方都没有显示 www-data,应该如此。您不希望外部人员拥有太多权限,因此 www-data 是满足该要求的 Apache 的受限用户。它的权限比您少。

如果您想使用主目录,那么最简单、最干净的方法是编辑/etc/apache2/sites-enabled/000-default,并将所有(或至少最内层)出现的 更改/var/www为您选择的任何目录,然后重新启动 Apache。您可以将任意数量的虚拟网站添加到配置的内部部分,类似于此,使用您想要的任何名称和匹配的目录。我创建的网站名称类似于“mysite.dev”,并且在访问它的任何机器上,我都会使用/etc/hosts之类的内容进行输入192.168.1.111 mysite.dev。然后 Apache 将获取该名称,查找它以获取虚拟站点的目录,然后打开它。

相关内容