今天又同学问我,李老师,为何在我的虚拟机上安装的RHEL5系统中的一个文件我怎么也删不掉? 我是root用户耶!
我咨询过后,排除了两个问题: 1.文件名不是以“-”起始的。 2.用户无权限。于是我就想到了一个和linux文件安全相关的命令,就是lsattr和chattr。
lsattr的作用是可以列出文件的属性。而chattr则可以进行文件属性的更改。
平时我们考虑到文件属性的时候,大多只是看看文件属主,属组,权限,以及文件大小和时间戳,有时候还会看看文件分类,但是,文件还有更多小秘密哦!
看看下面的代码块就会发现不一样的效果。
[root@RHEL5 ~]# ls -l yoyo.txt #平时这么看文件属性 -rw-r--r-- 1 root root 0 Dec 10 20:24 yoyo.txt [root@RHEL5 ~]# [root@RHEL5 ~]# lsattr yoyo.txt #今天用lsattr看看文件属性。 ------------- yoyo.txt [root@RHEL5 ~]# chattr +i yoyo.txt #利用chattr 给yoyo.txt添加i属性 [root@RHEL5 ~]# lsattr yoyo.txt # 看到中间多出的i选项吗? ----i-------- yoyo.txt [root@RHEL5 ~]# [root@RHEL5 ~]# rm -rf yoyo.txt #超级用户来删除 rm: cannot remove `yoyo.txt': Operation not permitted #操作不允许。 [root@RHEL5 ~]# [root@RHEL5 ~]# chattr -i yoyo.txt #去掉i属性呢? [root@RHEL5 ~]# [root@RHEL5 ~]# lsattr yoyo.txt #结果不一样了吧? ------------- yoyo.txt [root@RHEL5 ~]# [root@RHEL5 ~]# rm -rf yoyo.txt [root@RHEL5 ~]#
更多信息请利用man lsattr和man chattr来获得,或者查找wiki。
那么大家可以利用这个属性做什么呢?呵呵,想像一下,我们可以在网站的首页里将长期不需要改变的文档属性加上i属性或者将重要的不需要经常改动的文件加上i属性?这样以来,是不是防止被篡改的同时,又增加了防止超级用户误操作而丢失数据的概率呢? 安全从平时的一点一滴开始积累,你也可以成为一名职业的IT人。
好像不是我要的效果?