在我的建站笔记中,我使用了Wordfence防火墙插件。该插件的设置界面提供了一个防护等级选项,允许所有PHP请求先经过Wordfence处理。然而,在设置过程中,可能会遇到无法修改.user.ini文件的情况。
造成这种情况的原因是.user.ini文件的权限被锁定,只需解除该锁定即可。
如果你使用的是LNMP一键包搭建的网站环境,可以通过以下命令解除锁定:
chattr -i /home/wwwroot/你网站文件夹/.user.ini
完成该操作后,你就可以在Wordfence的设置界面自动修改防火墙等级了。
如果之后不再需要这个设置,可以使用下面的命令重新锁定.user.ini文件,以防止再次被修改。
chattr +i /home/wwwroot/你网站文件夹/.user.ini
关于chattr命令:有时即使使用root权限也无法修改某个文件,通常是因为该文件曾被chattr命令锁定。chattr命令的功能强大,通过它修改文件属性可以增强系统安全性,但并不适用于所有目录。需要注意的是,chattr命令不能保护/、/dev、/tmp、/var等目录。使用lsattr命令可以查看通过chattr设置的文件属性。
语法 chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
参数 描述 -R 递归处理所有的文件及子目录。 -V 详细显示修改内容,并打印输出。 – 失效属性。 + 激活属性。 = 指定属性。 A Atime,告知系统不要修改文件的最后访问时间。 S Sync,确保应用程序对文件的写操作立即写入磁盘。 a Append Only,只允许在文件末尾追加数据,不允许覆盖或截断。 i Immutable,禁止对文件进行任何修改。 D 检查压缩文件中的错误。 d No dump,备份时忽略该文件。 C Compress,透明压缩文件。 s Secure Delete,删除文件时用0填充文件区域。 u Undelete,保留数据块以便后续恢复。
示例:
使用chattr命令保护关键文件不被修改: # chattr +i /etc/resolv.conf 使用lsattr查询文件属性: # lsattr /etc/resolv.conf ----i-------- /etc/resolv.conf #显示如上 使某个文件只能追加数据,不可删除,适用于日志文件: # chattr +a /var/log/messages
参考资料:大眼妹
