原Linux 删除文件提示:rm: cannot remove 'd.php': Operation not permitted 解决方案
摘要:实际工作中linux服务器上经常出现不能删除的文件,例如.user.ini, d.php,是什么原因导致的了?又该如何删除?
由于 thinkphp5.0 版本存在重大安全隐患,服务器被写入了d.php文件,然后用root用户删除文件时提示:
root@web2:/www/web/public# rm d.php
rm: cannot remove 'd.php': Operation not permitted
lsattr命令来查看是否是系统添加了i属性
root@web2:/www/web/public# lsattr d.php
----i----------- d.php
说明:i 参数可以让一个档案不能被删除、改名、设定连结也无法写入或新增数据!对于系统安全性有相当大的帮助!即使是root用户,也无法删除。
通过chattr命令来解除该属性,代码如下:
root@web2:/www/web/public# chattr -i d.php
root@web2:/www/web/public# lsattr d.php
---------------- d.php
提示:有些显示 a 参数,也是同样处理即可
最后执行删除:
root@web2:/www/web/public# rm d.php
搞定!tp旧版还是挺多安全隐患,一定要及时更新tp的版本。
课外阅读
Linux的chattr命令可改变存放在ext2文件系统上的文件或目录属性:
参数 | 说明 |
---|---|
a | 让文件或目录仅供附加用途 |
b | 不更新文件或目录的最后存取时间 |
c | 将文件或目录压缩后存放 |
d | 将文件或目录排除在倾倒操作之外 |
i | 不得任意更动文件或目录 |
s | 保密性删除文件或目录 |
S | 即时更新文件或目录 |
u | 预防以外删除 |
使用语法
chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]
说明:
参数 | 说明 |
---|---|
-R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-V | 显示指令执行过程 |
-v<版本编号> | 设置文件或目录版本 |
+<属性> | 开启文件或目录的该项属性 |
-<属性> | 关闭文件或目录的该项属性 |
=<属性> | 指定文件或目录的该项属性 |
属性就是上面表格中的属性
手机扫码阅读,舒服~