文件隐藏属性(chattr lsattr)

chattr (设置文件的隐藏属性)

这个命令很重要,尤其是在系统的数据安全上面! 但是其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/var目录.

 

命令格式 : chattr [-RV] [-+=AabcdDeijsSu] [-v version] files…

 

参数 :

-R  递归处理,将指定目录下的所有文件及子目录一并处理;

-V  显示指令执行过程;

 

+   增加某一个特殊参数,其他原本存在的参数则不动;

–   删除某一个特殊参数,其他原本存在的参数则不动;

=   仅有后面接的参数;

 

A   文件或目录的atime不可被修改,可避免I/O较慢的机器过度访问磁盘;

S   硬盘I/O同步选项,功能类似于sync,而一般文件是异步写入磁盘;

a   设置该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全;

b   不更新文件或目录的最后存取时间;

c   设定文件是否经压缩后再存储,读取时自动解压缩;

d   当dump程序被执行时,设置d属性将可使该文件或目录不会被dump备份;

D   检查压缩文件中的错误;

i   设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容;

j   设定此参数使得当通过mount参数:data=ordered或者data=writeback挂载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效;

s   彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在的区域;

u   与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用来找回文件;

 

 

lsattr (显示文件隐藏属性)

用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性;

lsattr命令显示文件系统属性与ls显示的文件系统属性是两个不同的概念;lsattr实现的属性是文件系统的物理属性,而ls显示的文件属性是操作系统进行管理文件系统的逻辑属性;

命令格式 : lsattr [-RVadlv] [files…]

参数 :

-R    递归处理,将指定目录下的所有文件及子目录一并处理;

-V    显示版本信息;

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

-d    若目标文件为目录,则显示该目录的属性信息,而不显示其内容的属性信息;

-l     不得任意更改文件或目录;

-v    显示文件或目录版本;