apache - 更改权限后,您无权访问此服务器上的 /
问题描述
我将 AWS 与运行 Ubuntu 18 和 Apache2 的 EC2 实例一起使用。
我需要能够使用 FileZilla 将文件上传到我的网站。起初我的许可被拒绝了,所以我做了:
sudo chown -R ubuntu:ubuntu /var/www
(ubuntu
是使用 Ubuntu 连接到 AWS 上的服务器的用户名)
现在我可以使用 FileZilla 上传和删除文件,但我相信当我尝试从浏览器查看我的网站时也会导致以下问题:
403 Forbidden
Forbidden You don't have permission to access / on this server.
我对吗?这是错误的原因吗?如何解决?我无法再查看我的网站
解决方案
我相信 apacahe 无法再访问您的文件了。
您可以sudo chown -R www-data:www-data /var/www
将其访问权限归还给 apache。
如果您仍然希望能够通过ubuntu
用户和 Filezilla 发布到您的网站,您可以:
保留
ubuntu
文件的用户所有者,但www-data
作为组所有者,因此 apache 仍然能够访问它们。sudo chown -R ubuntu:www-data /var/www sudo find /var/www -type d -exec chmod 750 {} \; sudo find /var/www -type f -exec chmod 640 {} \;
这为用户提供了读/写访问权限以及对(apache) 组
ubuntu
的只读访问权限。www-data
更高级的方法是使用ACL。Apache 仍然是文件的用户和组所有者,并且具有与您的网站相关的一些特定访问权限。此外,ubuntu 用户可以
/var/www
使用sudo setfacl -R -m u:ubuntu:rwx /var/www
.
AskUbuntu上讨论了其他解决方案。
推荐阅读
- html - 我们可以在云功能中使用脚本标签吗
- javascript - 为什么在 React.js 中为组件使用单独的 CSS 文件
- python - 如何将热图和等高线图与 Plotly Python 相结合
- r - 在行中重复时更改单元格的值 - R
- java - 如何检查系统托盘是否已经存在?
- html - 使用 css 更改 svg 文本定位
- android - 在房间数据库中插入值
- java - 我想从网络下载图像但给出这个异常:android.system.ErrnoException:打开失败:ENOENT(没有这样的文件或目录)
- python - 在 Python 中从元组列表(来自 sqlalchemy 的响应)中划分和追加到两个变量的最快方法是什么?
- html - table td row 重叠在表头上