【问题标题】:linux hosting permissions shared serverlinux托管权限共享服务器
【发布时间】:2012-07-17 23:11:45
【问题描述】:

共享 linux 服务器上的可执行权限和读取权限之间的实际区别是什么,这意味着,这与 Web 访问者可以做什么(例如 php 文件)究竟有什么关系?使用 Godaddy 共享主机,例如,在基本权限下,如果 web 用户不可读,但可执行,则与可读但不可执行的情况相同 - 执行 php 文件。另外,在共享的 linux 服务器上,使文件对 web 用户可写究竟是什么做的?

【问题讨论】:

    标签: linux permissions hosting shared-hosting


    【解决方案1】:

    基本答案是:没有。网站的访问者不会直接访问任何文件、PHP 或其他文件。他们向计算机(例如:Apache)上的服务器服务(哇,这是可怕的措辞)发送一个 HTTP 请求,然后加载页面,执行 PHP 等。所以当您更改权限时,相关的权限要更改是 Apache 帐户(取决于发行版,可以是 nobody 或 www-data)对这些文件的权限。至于权限的实际作用,this Wikipedia page 描述得很好。

    如果你有 Linux 机器,你可以自己测试。获取一个包含文件的目录和sudo chmod -R 744。然后,尝试ls -l 进入它。您将能够看到文件名,但看不到有关该文件的任何其他信息(包括内容 - nano该目录中的任何文件都将导致创建一个新文件)。

    【讨论】:

      【解决方案2】:

      您必须记住,所有这些都取决于 Web 服务器想要做什么,因为一切都必须通过 Web 服务器。这不像从磁盘读取文件。因此,当您请求“index.php”或“index.cgi”时,您并没有读取文件的内容。 Web 服务器将看到您请求的文件是一个程序,它将运行该程序。它不会输出文件的内容,而是输出程序输出的任何内容。这只是一个设置,与权限无关。此外,如果您使用的是共享主机帐户,则无法更改此设置。

      在共享的 linux 服务器上,使文件可写 [...] 到底有什么作用?

      您不能使用 HTTP 使文件“可写”。同样,这不像访问本地驱动器上的文件系统。您可以制作一个可以处理文件上传的服务器端程序,但同样,这与权限无关。

      我希望这就是你的意思。如果你的意思是别的,请告诉我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-16
        • 2013-07-18
        相关资源
        最近更新 更多