【发布时间】:2017-11-05 02:18:36
【问题描述】:
我的网络服务器作为 www-data 运行,但出于某种原因,可以从网络上毫无问题地看到此图像文件。以下是权限/所有权:
ls -alht /var/www/html/file.jpeg
-rw------- 1 www-data www-data
如果我对该文件执行 chmod 000,则无法按预期看到它。
我完全被这个难住了,有人知道发生了什么吗?非常感谢。
【问题讨论】:
-
您是否正在清除客户端上的缓存以使浏览器不会从本地存储中加载缓存的图像?此外,Web 服务器可能(可能)正在做自己的缓存,所以也尝试重新启动 httpd。最后,如果您在两者之间使用内容交付网络,那也可能是缓存。尝试 -rw----- 使用新文件名。
-
感谢您的回复,我已尝试从 4 种不同的浏览器/设备进行访问,这些浏览器/设备之前未查看过该文件。我也尝试重新启动服务器,但没有内容交付网络 - 我在本地主机上运行服务器并从 LAN 内的其他 Web 浏览器访问它。
-
真的很奇怪,我在 openbsd 系统上的另一个网络服务器上执行了完全相同的权限更改,并且完全相同 - 仍然可以访问文件。那个是在网络上直播的。
-
文件的所有者是谁,运行的网络服务器是谁?显然他们是同一个用户。如果 Web 服务器具有访问权限,那么谁向 Web 服务器请求它并不重要。如果您想强制需要某种访问管理系统来提供文件的网站用户访问。
-
所有者是 www-data 而对于 openbsd 它是 www。我找到了一个修复程序,我不知道为什么这个有效而另一个无效,但是在其实际目录上设置权限可以按预期工作,但在文件本身上 - 不!不过,我仍然很困惑为什么会这样,显然我对文件权限的了解比我想象的要少。您不知道为什么目录权限在这里按预期工作,但仅针对文件却没有?
标签: linux security permissions