网站目录权限都修改为777有危险吗
把网站目录权限改成777,网站等于把家门钥匙插在锁孔里,目录还贴了张纸条写“欢迎光临”。权限 去年有个做外贸站的都修朋友找我救火。网站被挂马,有危首页被跳转到博彩页面。网站我登上服务器一看,目录 777 意味着文件所有者、所属组、其他用户都拥有读、写、执行权限。放到网站环境里,就是任何能访问到这台服务器的人——包括通过Web漏洞进来的攻击者——都能往目录里写文件、改文件、执行脚本。Linux 的权限模型本来是为多用户环境设计的,777 直接把这个模型废掉了。 很多人改777是因为遇到了“Permission denied”。上传图片失败、插件无法写入缓存、程序不能创建日志文件。这些报错的根源通常是文件所有者和Web服务器运行用户不一致。比如你用 root 通过 SFTP 传了个文件,所有者是 root,而 Nginx 或 Apache 以 更危险的是递归777。 共享主机环境下777的危害更大。同一台服务器上跑着几十个网站,任何一个站点的漏洞都可能被用来读取或篡改其他站点的文件。你永远不知道隔壁那个 WordPress 是不是装了带后门的主题。 有人会说:“我就一个小破站,没人盯着。”这话我听过太多次。自动化扫描器不分大小站,它们扫全网IP段,发现777目录就尝试写入。你的站可能只是被用来当跳板,或者被塞了黑帽SEO页面。等你在 Google 搜自己域名发现结果里全是“买伟哥”的时候,已经晚了。 那到底怎么设?我的习惯是:目录 755,文件 644,需要写入的目录单独处理。 改权限之前先问自己一句:这个目录真的需要所有人都能写吗?答案几乎总是否定的。wp-content/uploads 目录权限是权限 drwxrwxrwx。问他为什么这么设,都修他说之前传图片总失败,有危网上搜到个帖子说改成777就好了,网站改完确实能传了,目录就没再管。权限攻击者利用这个目录上传了一个PHP文件,都修然后通过它遍历了整个站点。有危清理花了四个小时,搜索引擎降权花了三个月。www-data 身份运行,自然没权限写。正确做法是 chown 把所有者改成 www-data,目录给 755,文件给 644。但有人嫌麻烦,直接 chmod -R 777,问题消失了,风险也埋下了。chmod -R 777 /var/www 这条命令会把所有文件——包括配置文件、PHP源码、甚至 .htaccess——全部变成任何人可写。攻击者不需要什么高级漏洞,只要能往任意一个PHP文件里追加一行代码,整个网站就沦陷了。我见过一个案例,攻击者往 index.php 末尾加了一句 eval($_POST['cmd']),直接拿到 webshell,然后在内网横向移动,最后把数据库打包卖到了暗网。wp-content/uploads 可以设 755 并把所有者改成 Web 用户,或者 775 让组用户可写。实在需要777的场景——比如某些老旧的CMS强制要求——至少加上 open_basedir 限制,或者用 disable_functions 禁掉 system、exec、passthru 这些危险函数。
- 随机阅读
- 搜索
-
- 友情链接
-