![localhost php 文件的正确权限是什么?出现 403 错误](https://linux22.com/image/822808/localhost%20php%20%E6%96%87%E4%BB%B6%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%9D%83%E9%99%90%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E5%87%BA%E7%8E%B0%20403%20%E9%94%99%E8%AF%AF.png)
这让我抓狂了。真的抓狂了。
简短的故事。我创建了一个符号链接:
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 将获取该名称,查找它以获取虚拟站点的目录,然后打开它。