共享linux服务器上的可执行文件和读取权限之间的实际区别是什么,这意味着,这与Web访问者可以做什么有关,例如php文件?使用godaddy共享主机,例如,在基本权限下,如果Web用户不可读,但是可执行,同样的事情发生在它可读但不可执行时 - php文件执行。此外,在共享的Linux服务器上,究竟是什么使文件可写为Web用户 - 无法访问服务器登录但通过浏览器访问该页面的人呢?
答案 0 :(得分:1)
基本答案是:什么都没有。网站访问者不能直接访问任何文件,PHP或其他文件。他们在计算机(例如:Apache)上向服务器服务发送HTTP请求(哇,这是可怕的措辞),然后加载页面,执行PHP等等。因此,当您更改权限时,需要更改相关权限是Apache帐户(具体取决于发行版,nobody
或www-data
)对这些文件的权限。至于权限实际上做了什么,this Wikipedia page很好地描述了它。
如果您有Linux机器,可以自己测试一下。获取包含文件的目录并sudo chmod -R 744
。然后,尝试ls -l
进入它。您将能够看到文件名,但不能查看有关该文件的任何其他信息(包括内容 - nano
该目录中的任何文件都将导致创建新文件。
答案 1 :(得分:1)
您必须记住,所有这些都依赖于Web服务器想要做的事情,因为所有内容都必须通过Web服务器。这不像从磁盘读取文件。因此,当您请求“index.php”或“index.cgi”时,您不会读取该文件的内容。 Web服务器将看到您请求的文件是程序,它将运行该程序。它不输出文件的内容,而是输出程序输出的任何内容。这只是一个设置,与权限无关。此外,如果您使用的是共享主机帐户,则无法更改此设置。
在共享的Linux服务器上,究竟是什么使文件可写?[/ p>
您无法使用HTTP使文件“可写”。同样,这与访问本地驱动器上的文件系统不同。您可以创建一个可以处理文件上传的服务器端程序,但同样,这与权限无关。
我希望这就是你的意思。如果您有其他意思,请告诉我。