您的位置:首页 > 其它

文件删除引出chattr,lsattr案例

2015-08-12 16:29 267 查看
今天无意发现/home/xuliangwei/下面有一个shell.sh文件,cat shell.sh
[root@Shell xuliangwei]# cat shell.sh
123
发现是以前测试用随便创建的文件,上来不管三七二十一就 rm -f shell.sh
[root@Shell xuliangwei]# rm -f shell.sh
rm: 无法删除"shell.sh": 不允许的操作
咦,不对劲,难道权限问题
[root@Shell xuliangwei]# ll
总用量 4
-rwxr-xr-t 1 root root 4 8月  12 08:43 shell.sh
755,咦多了个t, t代表粘滞位,对文件并没什么用,而且也是用来共享的。然而并没什么用,因为我是root,想干什么就干什么。修改下目录权限,还是不行
[root@Shell home]# chmod 777 -R xuliangwei/
chmod: 更改"xuliangwei/shell.sh" 的权限: 不允许的操
不管了 连目录一起干掉
[root@Shell xuliangwei]# cd ../
[root@Shell home]# rm -rf xuliangwei/
rm: 无法删除"xuliangwei/shell.sh": 不允许的操作
神马情况,最牛逼的rm -rf 都不管用了,难道是文件被占用了
[root@Shell home]# ps aux | grep *.sh | grep -v grep
[root@Shell home]#
文件也没有被占用,那到底是什么情况。
通过大神的分析 这种情况是文件被锁死了,一查看发现有i,文件被锁定了
[root@Shell xuliangwei]# lsattr shell.sh
----i--------e- shell.sh
解除权限在来一次,成功删除
[root@Shell xuliangwei]# chattr -i shell.sh
[root@Shell xuliangwei]#
[root@Shell xuliangwei]# lsattr shell.sh
-------------e- shell.sh
[root@Shell xuliangwei]# rm -f shell.sh
[root@Shell xuliangwei]# ls
正常删除文件分析:
权限

目录权限

是否是root权限

文件是否被占用

这种分析我们往往忽略了chattr这个命令,如果你不懂的话,这个文件你还真的没办法删除。
chattr是用来锁定/etc/passwd 、/etc/shadow 等 这些系统中比较重要的文件,可以防止系统重要文件被别人删除,从而导致的一系列问题。

使用方法:
chattr +i /etc/passwd
锁定系统关键文件
如果以后还有朋友遇到我这种使用root都无法删除文件的情况,上来看下
lsattr  文件
看文件是否被锁定。

如果锁定,使用chattr解锁
chattr -i 文件
一个小小的删除问题,让一群大神都搞不定,看来技术还有待提升哦,细节细节。

本文出自 “徐亮偉” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: