chmod -R 777 的结果是什么

chmod -R 777 的结果是什么

我无意中sudo chmod -R 777 ./var/www/html/mysite文件夹中做了一个。这会导致什么结果?

我想节省一些时间,通过在运行命令之前不更改我的文件夹以及不输入完整路径,因为我在想要更改的当前目录中。

答案1

该命令将更改/var/www/html/mysite所有者、组和其他人员对内部任何内容的读取、写入、执行权限。您基本上会取消所有形式的安全性。

如果外界的任何人能够访问您的系统,他们就可以对这些文件做任何事情。包括删除它们。

顺便说一句:我认为这对于开发服务器来说也是不好的。

  1. 您如何判断某个脚本是否能在活动服务器上运行。开发服务器上的“777”可能看起来好像运行正常,但实际上并非如此。
  2. 当需要上线时你会做什么?检查每个文件是否有适当的权限?
  3. 在某些时候,你会发现活动服务器的行为有所不同,然后你决定在活动服务器上使用“chmod 777”。这会带来很多麻烦。

为一个正确的在职的网站可以使用以下两个命令设置(和重置)权限:

find /var/www/html/mysite -type d -exec chmod 755 {} \;
find /var/www/html/mysite -type f -exec chmod 644 {} \;

答案2

chmod 777使文件/文件夹可供所有人读取、写入和执行。

因此,从本质上讲,您已授予站点文件夹的所有人写入该文件夹的权限,因此您降低了文件夹的安全性。在公共 Web 服务器上这不是什么好事,但我猜这是为了在本地机器上进行开发。

-R参数还意味着它是递归的,因此权限更改适用于该目录中的每个文件。

答案3

您的操作结果是通过 chmod 777 对运行命令的目录下的每个文件以及 -R(递归)开关下的每个目录下的每个文件获得完全的读、写和执行权限。

相关内容