通常说如果目录具有 777 权限,则全世界都可以写入,因此不受支持。
假设我有abc.com/DIR
DIR 是目录并具有 777 权限,如果没有FTP访问权限,任何人都可以写入该目录?
答案 0 :(得分:3)
为其他添加写访问权限的主要问题是,在同一台计算机上运行的任何进程都可以写入此目录。
默认情况下,apache,nginx,...不允许将文件上传到服务器,并假设您的服务器是这样配置的,那么您可能认为其他的写权限可能不是一个问题,但事实并非如此。
假设您有一个应用程序本身不执行或评估任何脚本但以某种方式根据某些外部输入写入文件,那么有人可能会找到一种方法来控制此应用程序写入硬盘的内容。如果应用程序将以自己的用户运行并且无法在任何地方写入,那么这将成为一个问题。
但是现在有一个文件夹,其中包含其他人的写权限,因此这个应用可以在那里写,例如将 php 文件放在此目录中。放置文件后,可以使用 apache 评估/执行该文件。
经验法则始终是以最少的权利运行流程,同样适用于目录的权限。如果Web服务器只应读取文件,则将这些文件的所有者设置为其他用户,然后是Web服务器,并且只能使用组权限使其可读。
答案 1 :(得分:-1)
首先看看777
权限是什么:
777权限
第一个数字分配给所有者,第二个数字分配给组,第三个数字分配给其他。因此,对于具有777
权限的文件,每个人都可以读取,写入和执行。
现在回答你的问题
如果您对文件夹提供了777
权限,则表示每个人都可以阅读,编写和执行。因此,有人可以轻松创建文件上传程序并上传脚本(如果htaccess不安全)并通过简单的URL执行它。
例如
我编写了一个程序并上传了一个用于空目录的php
文件,或者添加了一些用于发送spam
电子邮件的脚本,然后您的服务器将被列入黑名单。
文件调用应该像example.com/dir/myfile.php
There是一个很好的例子,为什么不能使用777
权限。