我无意中sudo chmod -R 777 .
在/var/www/html/mysite
文件夹中做了一个。这会导致什么结果?
我想节省一些时间,通过在运行命令之前不更改我的文件夹以及不输入完整路径,因为我在想要更改的当前目录中。
答案1
该命令将更改/var/www/html/mysite
所有者、组和其他人员对内部任何内容的读取、写入、执行权限。您基本上会取消所有形式的安全性。
如果外界的任何人能够访问您的系统,他们就可以对这些文件做任何事情。包括删除它们。
顺便说一句:我认为这对于开发服务器来说也是不好的。
- 您如何判断某个脚本是否能在活动服务器上运行。开发服务器上的“777”可能看起来好像运行正常,但实际上并非如此。
- 当需要上线时你会做什么?检查每个文件是否有适当的权限?
- 在某些时候,你会发现活动服务器的行为有所不同,然后你决定在活动服务器上使用“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(递归)开关下的每个目录下的每个文件获得完全的读、写和执行权限。