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

  ------------ 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 参数就可以看到。
   
     $ 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)...

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3