创建一个连root都无法删除的文件
2019-10-02 10:56:54 Author: mp.weixin.qq.com(查看原文) 阅读量:50 收藏

在linux系统中,root用户拥有最高权限,可以干任何事情,但是有些时候,root用户却不能删除一个小小的一般文件。其实只要root用户更改下这个文件的属性,还是可以删除的。

首先创建两个文件aa、bb 查看一下他们的权限 

这里我们试着删除bb  看是否可以删除  ls查看发现可以删除  但是删除aa时却发生了错误 无法删除   

经过百度查询后才知道还有”隐藏”属性, 用lsattr查看 发现 aa文件有一个i 的参数

使用lsattr命令查看文件的隐藏属性,而用chattr来修改为正常值。以下的两个命令的解释和使用方法

lsattr  

语法:#lsattr [-aR] 

参数说明: 

-a :将隐藏文件的属性也列出来; 

-R :连同子目录的数据也一并列出来!

chattr

语法:#chattr [ -=][ASacdistu] [档案或目录名称] 


参数说明: 

-=:分别为 [ 增加] [- 减少] [= 设定] 属性的意思 

A:当设定了 A 这个属性时,这个档案(或目录)的存取时间 

atime (access) 将不可被修改, 可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生! 

S:这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失! 

a:当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。 


c:这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来,但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!) 

d:当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效! 

i:这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!对于系统安全性有相当大的帮助! 


j:当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中!但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效! 

s:当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。

u:与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion.

本命令是重要的,尤其是在系统的安全性上面。由于这些属性是隐藏的性质,所以需要以 lsattr才能看到该属性。其中,最为重要的是属 i 这个属性了,因为他可以让一个档案无法被更动,对于需要强烈的系统安全的人来说,真是相当的重要的!里头还有相当多的属性是需要 root 才能设定的!此外,如果是 log file 这种的登录档,就更需要 a 这个可以增加,但不会被杀掉的参数了。


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650457548&idx=3&sn=265e5702a05eaab5680e65f5a71da58a&chksm=83bba028b4cc293e150ee938270ac68e412fe3e809a8ebb6cf4f5e2a1ff2d899a43312a47402#rd
如有侵权请联系:admin#unsafe.sh