root用户无法删除文件-文件无法删除-root无法删除文件怎么办。
0、事件描述
今天凌晨服务器监控系统报警,结合系统排查发现服务器上某目录下多了一个sh文件,大家都明白是什么情况。在删除该文件时,却遇到了一些小情况,本文通过模拟环境记录处理过程。以下通过模拟环境说明,非生产环境。
LSer们都知道,前辈绝大多数都是这么教导的:“在Linux系统中,root用户拥有最高权限,可以干任何事情,删除任何不需要的软件或者文件,可以说无所不能”。所以一旦遇到root干不了的事情,很多人就开始不淡定了,手心莫名出汗。
1、尝试直接删除:rm -rf
2、尝试覆盖:
这个不太科学啊!按这个思路,连删K跑L的SAO操作也堵死了。难道运维生涯就此GG?不可能,绝对不可能,不管是北方大冻梨,还是南方小土豆,都不能接受。
3、原因找到了:
“一切都是文件...”
“文件除了r、w、x,还有特殊的S系列...”
“除了以上情况,还有一种,隐藏,隐藏!..”
这些信息在脑海里快速闪现。
原因找到了。文件的隐藏权限必须使用 lsattr 命令来查看,平时使用的 ls 之类的命令则看不出端倪。按照显示的隐藏权限的类型(字母),使用 chattr 命令将其去掉:
4、总结:
chattr 命令介绍
Linux chattr 命令用于防止系统中某个关键文件被修改
语法: (与chmod 命令语法相同,仅参数不同)
chattr +/- 【参数】 文件或路径
参数:
a: 文件只能增加内容不能减少内容, 不能删除文件;
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:静态文件永不变。 文件有了i属性, 内容不能变,文件不能删除。
s:保密性删除文件或目录。
S:即时更新文件或目录。
u:预防意外删除。
lsattr 命令介绍
Linux lsattr 命令用于显示文件的属性
语法:
lsattr 【-参数】 文件名或路径
参数:
-a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
-d 显示,目录名称,而非其内容。
-l 此参数目前没有任何作用。
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 显示文件或目录版本。
-V 显示版本信息。
5、后记:
引用网络上的这首诗,表表运维人的日常。共勉。
现代诗《愁》
靠在阳台抽烟,
我抽一半,风抽一半,
我没和风计较,
因为风也有自己的忧愁。
今文古译《愁》
斜倚栏,吞云雾,
半入清风半入喉,
莫问清风何处去,
清风也识人间愁。
以上诗句引自网络,如有侵权请告知删除。