设置文件隐藏属性
##语法
[root@study ~]# chattr [+-=] [ASacdistu] 文件或目录名称
##参数
+ : 增加某一个特殊参数,其他原本存在参数则不动。
- : 移除某一个特殊参数,其他原本存在参数则不动。
= : 设置一定,且仅有后面接的参数
A : 当设置了A这个属性时,若你有存取文件(或目录)时,他的存取时间atime将不会被修改,
可避免I/O较慢的机器过度的存取磁盘,(目前建议使用文件系统挂载参数处理这个项目)
S : 一般文件是非同步写入磁盘的,如果加上S,当你进行任何文件的修改,该更新会"同步"写入磁盘中。
a : 当设置a之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root才能设置这属性
c : 这个属性设置之后,将自动的将此文件"压缩",在读取的时候会自动解压缩,但是在存储的时候,
将会先进行压缩后在储存(看来对于大文件似乎蛮有用的)
d : 当dump程序被执行的时候,设置d属性可使该文件(或目录)不会被dump备份
i : 设置之后,这个文件"不能被删除、改名、设置链接、也无法写入或新增数据",对于系统安全性有很大的
助益,只有root能设置此属性。
s : 当文件设置了s属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,所以如果误删了,
完全无法就回来了。
u : 与s相反的,当使用u来设置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中,可以使用
救援该文件。
注意1 : 属性设置常见的是a与i的设置,而且很多设置值必须要身为root才能设置。
注意2 : xfs文件系统仅支持Aadis而已
##范例
范例一:请尝试/tmp下面创建文件,并加入i的参数,
[root@study ~]# cd /tmp
[root@study tmp]# touch attrtest <== 创建一个新文件
[root@study tmp]# chattr +i attrtest <== 给予i的属性
[root@study tmp]# rm attrtest
rm : remove regular empty file 'attrtest'? y
rm : cannot remove 'attrtest': Operation not permitted
范例二:请将上例创建的attrtest的i属性给取消
[root@study tmp]# chattr -i attrtest