权限是 755 (rwxr-xr-x),所有者是 www。这意味着所有者(www 用户)对该文件有可写权限,因此攻击者可以利用 Web 服务器(以 www 身份运行)直接修改它。
要彻底阻止修改,你需要把它改成不可写。按照之前提到的思路,推荐两种方案:
方案一(推荐):使用 chattr 锁定文件(最彻底)
这会让文件连 root 都无法直接修改,必须解锁后才能改。
登录服务器(SSH 用 root 或 sudo 用户)。
执行锁定命令(注意改成你实际的路径):
bash
sudo chattr +i /网站路径/index.php
验证:
bash
lsattr /网站路径/index.php
如果看到 i 标志,就成功了。
方案二:仅靠 chmod 改成只读(弱一些,但简单)
如果不方便用 chattr,可以把权限改成 444 (r--r--r--) 或 644 (rw-r--r--),但必须确保所有者是 root 或其他非 Web 运行用户,否则 www 用户如果是所有者,仍然能改。
安全做法:
bash
把所有者改为 root(或一个非 Web 用户)
sudo chown root:root /网站路径/index.php
权限改为 644(所有者 root 可写,其他人只读)
sudo chmod 644 /网站路径/index.php
此时 Web 服务器(www 用户)只有只读权限,无法修改文件。
⚠️ 特别提醒
如果你以后需要更新 index.php(比如升级程序),记得先解除锁定:
chattr 锁定:sudo chattr -i /网站路径/index.php
改回所有权:sudo chown www:www /网站路径/index.php(然后更新,更新完再锁回去)
单纯改成 444 且所有者是 www 是没用的,因为 www 用户本身有写权限,444 对它无效。
建议优先使用 chattr +i,它能抵御绝大多数 webshell 的修改尝试。