【发布时间】:2014-10-09 10:46:00
【问题描述】:
我想我对 OpenShift PHP 应用程序中的文件权限有一些基本的误解。它们实际上是如何工作的?
我在 OSX 上开发并使用 SourceTree 推送更改。当我通过 SFTP 程序 (Cyberduck) 登录应用程序时,index.php 文件显示其权限设置为 600,但访问者可以在浏览器中正常查看。
这让我很惊讶,因为我认为该文件需要 644 的权限才能被浏览(就像 Apache 网络服务器一样)。
在 OpenShift 上,文件权限 600、640 和 644 似乎都是等效的。这是正确的,还是我做错了什么?
相关: 我的 OpenShift 应用程序有一个 cgi-bin 文件夹,其中包含一个只能从 PHP 文件执行(调用)的 cgi 程序。换句话说,任何 PHP 脚本都应该能够调用这个 cgi 程序,但是试图直接浏览到 cgi-bin 文件夹的访问者不应该。
我将 cgi-bin 文件夹和 cgi 程序文件的权限都设置为 700(因此只有“所有者”设置了读/写/执行设置,而没有授予“组”和“其他”的权限)。但是访问者仍然可以直接浏览到程序 URL 并执行它(例如 www.example.com/cgi-bin/program.cgi) - 好像权限是 777。我该如何解决这个问题?
【问题讨论】:
标签: php cgi openshift file-permissions