chattr命令来自于英文词组“change attribute”的缩写,其功能是用于更改文件隐藏属性。常用的ls命令仅能够查看到文件的一般权限、特殊权限、SELinux安全上下文与是否有FACL访问控制列表等情况,但却无法查看到文件隐藏属性,所以有些运维人员甚至不清楚竟然还有第五种文件权限!~

语法格式:chattr 参数 文件

实用参数:

-R 递归处理目录下的所有文件
-v 设置文件或目录版本
-V 显示指令执行过程
+开启文件或目录的该项属性
--关闭文件或目录的该项属性
=指定文件或目录的该项属性
权限作用
i无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S文件内容在变更后立即同步到硬盘(sync)
s彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A不再修改这个文件或目录的最后访问时间(atime)
b不再修改文件或目录的存取时间
D检查压缩文件中的错误
d使用dump命令备份时忽略本文件/目录
c默认将文件或目录进行压缩
u当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t让文件系统支持尾部合并(tail-merging)
x可以直接访问压缩文件中的内容

参考实例

给指定文件添加隐藏属性:

[root@linuxcool ~]# chattr +i anaconda-ks.cfg

从指定文件移除隐藏属性:

[root@linuxcool ~]# chattr -i anaconda-ks.cfg   

给指定目录添加隐藏属性,递归操作:

[root@linuxcool ~]# chattr -R +i /root

从指定目录移除隐藏属性,递归操作:

[root@linuxcool ~]# chattr -R -i /root
Author