chattr:配置文件隐藏属性(注意:chattr命令只在Ext2/Ext3的文件系统上生效)
语法:chattr [+-=][ASacdistu] 文件或目录名称
参数:
+ :添加某一个特殊参数,其他原本存在参数不动。
- :移除某一个特殊参数,其他原本存在参数不动。
= :配置后面接的参数
A :当使用了A这个属性时,若你有存取此文件(或目录)时,他的存取时间atime 将 不会被修改,可避免I/O较慢的机器过度的存取硬盘。这对速度较慢的计算机有帮助
S :一般文件是非同步写入硬盘的,如果加上S这个属性时,当你进行任何文件的改, 该更动会『同步』写入硬盘中。
a :当使用a之后,这个文件将只能添加数据,而不能删除也不能修改数据,只有root 才能配置这个属性。
c :这个属性使用之后,将会自动的将此文件『压缩』,在读取的时候将会自动解压 缩,但是在储存的时候,将会先进行压缩后再储存。
d :当dump程序被运行的时候,使用d属性将可使该文件(或目录)不会被dump备份
i :使用i这个属性后,他可以让一个文件『不能被删除、改名、配置连结也无法写入 或新增数据』对于系统安全性有相当大的助益,只有 root 能使用此属性。
s :当文件使用s属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空 间,所以如果误删了,完全无法救回来了。
t :与s相反的,当使用u来配置文件时,如果该文件被删除了,则数据内容其实还存在 硬盘中,可以使用来挽救该文件。
注意:属性配置常见的是a 与i的配置值,而且很多配置值必须要身为 root 才能配置
范例:在tmp目录下创建一个文件,加入i参数,尝试删除
[root@localhost tmp]# touch attrtest
[root@localhost tmp]# chattr +i attrtest
[root@localhost tmp]# rm attrtest
rm:是否删除有写保护的 一般空文件 “attrtest”? y
rm: 无法删除 “attrtest”: 不允许的操作
[root@localhost tmp]#
范例:取消上例中的i参数
[root@localhost tmp]# chattr -i attrtest
[root@localhost tmp]# rm attrtest
rm:是否删除 一般空文件 “attrtest”? y
[root@localhost tmp]#
lsattr:显示文件隐藏属性
语法:lsattr [-adR] 文件或目录
参数:
-a :将隐藏档的属性也显示出来。
-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名。
-R :连同子目录的数据也一并列出来。
范例:
[root@localhost tmp]# touch attrtest
[root@localhost tmp]# chattr +aiu attrtest
[root@localhost tmp]# lsattr attrtest
-u--ia------- attrtest
[root@localhost tmp]#