Linux系统下文件的保护与彻底删除

在网上经常看到使用chmod修改文件权限的介绍文章,但是介绍Linux里面的另外两个经典的文件操作命令chattr和lsattr,shred的文章确很少,这是我的学习笔记,希望对新学Linux的朋友有所帮助。

chattr命令有很多用处,可以防止重要文件被错误的修改,误删。或把一些不在用机密的文件彻底删除,使其无法恢复。

好了下面看看chattr命令的具体用法。

chattr的作用是修改文件属性,需要超级用户的权限。

我们可以用下面的命令看看chattr命令的具体用法

$chattr --help

usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files...

lsattr的作用是查看文件属性。

可以用下面的命令看看lsattr命令的具体用法

$lsattr --help

Usage: lsattr [-RVadlv] [files...]

先用vi建立一个叫test1的目录,内容随便。

$vi test1

用lsattr先看一下test1文件的属性

$ lsattr test1

------------- test1

发现属性项都为空

好了我们为test1文件加一个属性看看。

$chattr +s test1

再用lsattr看一下test1文件的属性

$ lsattr test1

s------------ test1

会发现test1多了一个s属性

s属性:意思是当删除test1这个文件时,相应的磁盘空间会被清零。就像我们常在windows用的一种彻底删除文件的软件。删除的文件不能被恢复

好了我们再看一个例子

$chattr +a test1

a属性:意思就是使文件只可以追加数据,不能修改或覆盖。这时我们再用vi编辑文件会发现只能追加数据,但不能修改以前的数据。

想删除已经添加的文件属性也很容易,只要用-减去就可以了,和chmod的操作一样。

$chattr -a test1

这样就去掉了test1只能追加数据的限制,可以自由修改了。

chattr还有很多参数可以选择,除了上面介绍的两个,常用的还有

i属性:不允许对这个文件进行修改,删除或重命名

c属性:保存文件时,压缩该文件。

其他还有很多参数,大家可以参考chattr的使用帮助。然后说说shred,使用 shred /dev/hda 就可以让你的硬盘数据立刻消失,永不超升。当然要使用你的硬盘的正确的设备文件。

默认情况下使用各种垃圾数据反复重写25遍,加上 -v 参数就可以看到。

snip

$ shred -v /dev/hda

shred: /dev/hda: pass 1/25 (random)...

shred: /dev/hda: pass 2/25 (492492)...

shred: /dev/hda: pass 3/25 (000000)...

shred: /dev/hda: pass 4/25 (aaaaaa)...

shred: /dev/hda: pass 5/25 (555555)...

shred: /dev/hda: pass 6/25 (cccccc)...

shred: /dev/hda: pass 7/25 (b6db6d)...

shred: /dev/hda: pass 8/25 (333333)...

shred: /dev/hda: pass 9/25 (6db6db)...

shred: /dev/hda: pass 10/25 (dddddd)...

shred: /dev/hda: pass 11/25 (222222)...

shred: /dev/hda: pass 12/25 (ffffff)...

shred: /dev/hda: pass 13/25 (random)...

shred: /dev/hda: pass 14/25 (eeeeee)...

shred: /dev/hda: pass 15/25 (924924)...

shred: /dev/hda: pass 16/25 (777777)...

shred: /dev/hda: pass 17/25 (999999)...

shred: /dev/hda: pass 18/25 (111111)...

shred: /dev/hda: pass 19/25 (888888)...

shred: /dev/hda: pass 20/25 (bbbbbb)...

shred: /dev/hda: pass 21/25 (db6db6)...

shred: /dev/hda: pass 22/25 (444444)...

shred: /dev/hda: pass 23/25 (666666)...

shred: /dev/hda: pass 24/25 (249249)...

shred: /dev/hda: pass 25/25 (random)...

snip

参考 man shred

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/fa190b1fb85f9aba20c746a72b56432e.html