我有一个 VPS,由于某种原因,只有当权限为 644 时 php 才能执行。
如果我将 php 文件更改为 777 或 755,它会抛出错误 500 内部服务器错误。
我以为 777 给予每个人最大的权限,那么是什么让网络服务器表现得如此呢?
感谢您的时间。
答案1
这样做的原因与如果您的目录的写入权限过多sshd
则不会让您登录的原因相同。.ssh
如果有人可以更改它,您的服务器如何知道它确实是您的应用程序?
答案2
我以为 777 给予每个人最大的权限,那么是什么让网络服务器表现得如此呢?
777 意味着每个人都可以读写和执行您的 www 目录。您真的希望人们创建“任何”文件并执行吗?
当然不是。安全 101 原则之一是最小特权原则。基本上,这意味着只授予用户完成其工作所必需的那些权力。
答案3
您的网络服务器可能默认启用了“suexec”。Suexec 对 644 非常挑剔,不允许权限为 755 或 777 的文件工作。您可以在此处阅读有关 suexec 及其优缺点的信息http://httpd.apache.org/docs/1.3/suexec.html