Linux 权限设置错误,服务器直接变肉鸡?这 5

刚搬上线的 Linux 服务器,不到半天就被挖矿程序占满 CPU,后台一查,原来是某个目录的权限被顺手设成了 777
这不是段子——Linux 权限设置错误,服务器直接变肉鸡 是真实反复发生的低级事故。
本文不讲大道理,直接带你从排查到加固,一步步把危险挡在门外。

第一步:记住一个原则,避免 90% 的权限错误

所有文件和目录的权限应该遵循最小够用原则:业务进程用哪个用户运行,就只给那个用户读写执行权限,其他用户一律拒绝。

  • 普通文件:644(属主读写,属组只读,其他只读)
  • 可执行文件/目录:755(属主读写执行,属组读执行,其他读执行)
  • 上传目录(如 uploads):755750,绝不能给 777
  • 敏感配置文件(如 .envconfig.php):600640

核心命令:修改权限用 chmod,修改属主用 chown

第二步:用一条命令找出所有危险文件

登录服务器,切换到 root 或 sudo 用户,执行以下命令扫描:

find / -type f -perm /o+w -exec ls -l {} \; 2>/dev/null

这条命令会列出所有其他用户可写入的文件(即 777666 等权限)。
攻击者最常利用的入口就是这些文件——直接写入后门脚本。

同样,检查目录:

find / -type d -perm /o+w -exec ls -ld {} \; 2>/dev/null

如果结果里出现了业务目录(如 /var/www/html/home/user/public_html),赶紧记录下来。

注意:系统目录 /sys/proc/dev 下的结果可忽略,那是内核虚拟文件系统。

第三步:批量修正错误权限

确定危险目录后,用以下命令批量修正:

  1. 修改文件为 644(可执行文件改为 755):
find /var/www/html -type f -exec chmod 644 {} \;
find /var/www/html -type f -name "*.sh" -exec chmod 755 {} \;
  1. 修改目录为 755
find /var/www/html -type d -exec chmod 755 {} \;
  1. 如果上传目录需要让 Web 用户写(比如 www-data),则属主改为 www-data,权限设为 755750
chown -R www-data:www-data /var/www/html/uploads
chmod -R 755 /var/www/html/uploads

不要对整个网站递归 777,这是最常犯的错误。
很多新手为了“解决上传失败”,直接 chmod -R 777 整个目录,结果整个站点就成了肉鸡培养皿。

第四步:日常避坑,别让错误权限再次出现

  • 上传目录不执行脚本:在 Nginx 或 Apache 配置中禁止解析 PHP 文件。例如 Nginx 的 location ~ \.php$ { deny all; } 放在 uploads 目录的 location 里。
  • 使用粘滞位:对于多人共享的临时目录(如 /tmp),设置 chmod 1777 防止用户删除对方文件。
  • 定期审计:每周执行一次第二步的 find 命令,配合脚本输出报告。
  • 不要用 root 运行业务进程:Web 服务用 www-data,数据库用 mysql,用最小权限运行。

第五步:验证加固效果,确保没有被渗透

完成权限修正后,检查服务器有没有已被入侵的迹象:

  1. 查看可疑进程:tophtop,留意不认识的高 CPU 进程。
  2. 检查 SSH 登录记录:last -i 看异常 IP。
  3. 检查定时任务:crontab -l/var/spool/cron/crontabs/ 下是否有不明任务。
  4. 再次运行 find 扫描,确认无 777 文件。

如果有异常进程或文件,先隔离服务器(断网),再根据 /var/log/secureauth.log 排查入侵来源。

高频问题解答

Q:不小心把 /usr 目录权限改成 777 了怎么办?
A:用系统自带的 RPM(CentOS)或 DEB(Ubuntu)包管理器重新安装相关包。或者从另一台同版本服务器拷贝权限配置。更简单的方法是重装系统——权限错误影响系统命令执行,修复代价极高。

Q:chmod 777 只用了 1 秒,为什么这么危险?
A:777 代表所有用户(包括网站访问者通过 Web 服务进程)都可以写文件。攻击者只要找到一个上传点或注入点,就能写一个 shell 脚本进去,直接控制服务器。

Q:我用了面板(如宝塔),还需要手动检查权限吗?
A:需要。面板只管理它自己创建的文件,你手动上传的目录、程序自身生成的临时文件,权限可能不规范。建议在宝塔的“文件”功能里,选中目录 → 权限 → 设为 755

如果你正在处理 Linux 权限设置错误,服务器直接变肉鸡 的问题,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。权限不对,安全白费——养成每次上线前检查一遍权限的习惯,服务器才能睡得安稳。

分享到:
上一篇
用 AI 写 Python 爬虫
下一篇
宝塔面板后台被暴力破解?教你锁死端口
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意