【问题标题】:How do I allow users to view web page on ubuntu server, but not files on the server?如何允许用户在 ubuntu 服务器上查看网页,但不能查看服务器上的文件?
【发布时间】:2013-10-31 20:27:13
【问题描述】:

我试图弄清楚如何让我的本地网络服务器运行 php 并在浏览器中加载网页,但不是服务器文件系统上的文件。例如,www.something.com/ 会加载主页,但 www.something.com/helpers/ 会在我的服务器上显示 php 文件。我该如何防止这种情况?

采取的步骤: - 创建了一个用户组 - 将 www-data(默认 php 用户)添加到用户组 - 验证用户已添加(getent 组 GROUPNAME) - 执行 chown -R www-data:groupname /var/www/site/ - 然后,我尝试使用 chmod -R 770 /var/www/site

锁定我网站上的权限

现在,我得到一个禁止访问页面。我认为 chmod 是我搞砸的地方,所以我将其更改为 775,网站又恢复了。但是如何锁定我的文件系统并允许匿名用户查看网页而不是任何目录中的文件列表?

我还看到,当我尝试锁定文件系统时,日志显示包含的权限被拒绝。必须有一种简单的方法来执行此操作,而无需访问每个目录并将其锁定。

提前致谢。

【问题讨论】:

    标签: apache ubuntu-12.04


    【解决方案1】:

    您所要做的就是确保您的每个目录中都有一个 index.html 文件。它可能是一个空白文件,或者包含“404:你不应该在这里”消息,但它需要存在于每个目录中并命名为“index.html”或“index.htm”或“index.php”在文件系统中。

    我确定 Apache 在某处有一个设置也会禁用浏览目录,但 index.html 技巧应该适用于所有 Web 服务器(就像你碰巧没有使用 Apache)。

    【讨论】:

    • 这很聪明,但我需要一个比这更好的解决方案。如果您在技术上可以读取文件列表,那么即使存在索引文件,您的系统仍然存在安全漏洞。不过感谢您的回复。
    • 我提到的第二个解决方案是在您的网站根目录编辑 .htaccess 文件。 Here's a guide to doing so.
    • 原来煮猫的方法不止一种。 Here's another guide 涉及像我提到的那样编辑 Apache 配置。
    • 是的,Options -Indexes 似乎奏效了。感谢您的帖子伊万。
    猜你喜欢
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多