Linux系统下防止误删文件的操作

说明:在网上会看到一些经常误删重要文件的操作,如果大家不怕麻烦就采用下面这种方式来处理文件吧。

1、本文主要讲解的的是chattr和lsattr两个命令的使用。

在Linux系统中文件可不止只有rwx三种权限,使用lsattr命令可以显示出文件的隐藏属性,如下图所示:

                                

其中----ia----------代表就是文件的隐藏属性,lsattr命令后面也可以跟参数,如下所示:

-a :将影藏属性也显示出来

-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名

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

隐藏属性怎么是设置呢?就需要用到了chattr命令,命令格式如下:

                                      chattr  [+-=]    [AacdiSstu]   文件或目录

 参数:

 + :增加一项隐藏属性参数,类似于chmod命令的"+";

 -  :  删除一项隐藏属性参数,类似于chmod命令的"-";

 = :  仅有等号后面列举的参数。

A:设置了A这个属性时,此文件(或目录)的访问时间atime将不会被修改。可避免I/O较慢的机器过度访问磁盘。

a :  设置a之后,这个文件将只能增加数据,不能删除或修改其中的数据,只有root才能设置这个属性。

c : 这个属性设置之后,将会自动将此文件压缩,在读取的时候会自动解压缩,但是在存储的时候,将会先进行压缩后再存储。

d : 当dump程序被执行的时候,设置d属性将可使该文件(或目录)不会被dump备份。

i : 它可以让一个文件不能被删除、改名,设置连接也无法写入或添加数据。只有root才能设置这个属性。

S: 一般文件是异步格式写入磁盘的,如果加上S这个属性时,对文件进行任何修改,将会“同步”写入磁盘中。

s :  当文件设置了s属性时,如果这个文件被删除,它将会被完全从这个硬盘空间中删除。

t : 具有't'属性的文件在与其他文件合并的文件末尾不会有部分块片段(对于那些支持尾部合并的文件系统)。

              u :  与s相反,当使用u来配置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中。

             实例图:

Linux系统下防止误删文件的操作_第1张图片

 实例中,首先查看/etc/passwd文件的隐藏属性,发现并没有任何隐藏属性;然后就使用chattr命令对/etc/passwd文件加上隐藏属性a和i,意思是即使是root用户,也不能对这个文件进行删除、更名、修改其中的数据等操作。

如果事后想修改或删除具有隐藏属性的文件,那么在chattr命令中使用"-"运算符就可以办到,如下如所示:

Linux系统下防止误删文件的操作_第2张图片

这下就可以删除没有隐藏属性的文件了(由于/etc/passwd是系统重要文件,就不演示删除过程了)。

还有重要的一点是,如果一个文件夹具有隐藏属性,例如文件夹/home具有隐藏属性"ai",那么它目录里面的文件都不可进行删除或者更改等。所以如果碰到无法删除或者更改的文件(或目录),可以查看一下它的父目录是不是具有隐藏属性,以便我们可以更好地对文件进行操作。

你可能感兴趣的:(Linux系统)