我们使用ls -l查看文件可以发现一般会有r,w,x对应可读,可写,可执行三种权限,那么除了这些之外文件还包括一些隐藏属性对于我们日常使用非常有帮助。
一、chattr(配置文件隐藏属性)
用法:chattr [+-=] [ASacdistu] 文件或者目录
选项和参数:
+ :增加某个特殊参数
- :删除某个特殊参数
= :直接授予某个特殊参数
A : 设置该属性时,存取该文件时,他的存取时间atime将不会修改,可避免I/O较慢的及其过度读写硬盘
S:设置该属性时,任何的该文件修改会同步写入磁盘
a:该文件只能增加数据,不能删除不能修改,只有root才能设置该属性,一般适用于某些日志文件(只能增加数据)
c:会自动将此文件压缩,在读取的时候会自动解压缩,存储的时候会先压缩在存储,适用于大文件
d:当dump程序被执行的时候,设置该属性的文件不会被dump备份
i:对设置了该属性的文件不能被删除,改名,设置链接也无法写入或者新增数据,对于系统安全性有很大帮助,只有root才能设置该属性
s:文件被删除将会完全从硬盘删除,无法恢复
u:与s相反,文件被删除还存在硬盘中,可恢复
注意:chattr只能在ext2,ext3,ext4的Linux传统文件系统上面生效,其他的文件系统可能无法完整的支持这个命令,如xfs仅支持AadiS属性。
例如:
touch test <== 创建文件
chattr +i test <== 给test文件赋予i属性
rm test <== 删除test文件,发现无法删除
chattr -i test <== 从test文件移除i属性
二、lsattr (查看文件隐藏属性)
用法: lsattr [-adR] 文件或者目录
选项和参数:
-a :将隐藏文件的属性也显示出来
-d:如果接的时目录,仅列出目录本身的属性而非目录内的文件名
-R:连同子目录的数据也一并列出来
例如:
lsattr test <== ----i-----------
技巧:这两个命令可以拆开来就知道功能了,chattr 由 change attr 改变隐藏属性的意思,lsattr 由 list attr列出隐藏属性的意思。
注:本篇文章参考鸟哥的Linux私房菜。