以 777 权限写入目录

Writing to directory with 777 permission

通常说如果一个目录有777权限,全世界都可以写入它,因此不支持。

假设我有像 abc.com/DIR

这样的域

DIR 是目录并具有 777 权限,如何在没有 FTP 访问权限的情况下写入该目录?

先看看777权限是什么:

777 权限

第一个数字分配给所有者,第二个数字分配给组,第三个数字分配给其他人。所以对于一个777权限的文件,任何人都可以读,写,执行。

现在回答你的问题

如果您向文件夹提供 777 权限,这意味着每个人都可以读取、写入和执行。因此,有人很容易创建一个文件上传程序并上传一个脚本(如果它不是 htaccess 安全的)并通过简单的 URL.

执行。

例如

我写了一个程序并上传了一个 php 文件,用于空目录或添加一些用于发送 spam 电子邮件的脚本,然后你的服务器将被列入黑名单。

文件调用应该像example.com/dir/myfile.php

There 是一个很好的例子,为什么不应该使用 777 权限。

others 添加写入权限的主要问题是同一台机器上的任何进程 运行ning 都可以写入此目录。

默认情况下,apache、nginx、...不允许将文件上传到服务器,假设您的服务器是这样配置的,那么您可能认为 others[=25] 的写入权限=] 可能不是问题,但事实并非如此。

假设您有一个应用程序,它本身不执行或评估任何脚本,但以某种方式根据某些外部输入写入文件,那么有人可能会找到一种方法来控制该应用程序写入硬盘的内容。如果应用程序将 运行 有自己的用户并且不能在任何地方写入,这将不是问题。

但是现在有一个文件夹对 其他人 具有写入权限,所以这个应用程序可以在那里写入,例如在此目录中放置一个 php 文件。文件放在那里后,它可以 evaluated/executed 使用 apache.

一个经验法则是 运行 以他们需要的最少权限进行处理,目录的权限也是如此。如果 Web 服务器只应读取文件,则将这些文件的所有者设置为与 Web 服务器不同的用户,并且仅使用组权限使它们可读。