chattr-更改文件属性
chattr 指令可改变 linux 文件系统的文件属性,通用格式为:+-=[aAcCdDeijsStTu] “ aAcCdDeijsStTu ” 表示可以赋予文件的新属性,这些属性共有以下几种模式:
- a:让文件或目录仅供附加用途;
- A:当一个具有“A”属性的文件被访问时,它的 atime 记录不会被修改;
- c:将文件或目录压缩后存放;
- d:将文件或目录排除在倾倒操作之外;
- i:不得任意更动文件或目录;
- j:如果文件系统安装有“data=order”或“data=writeback”选项,则具有“j”属性的文件在写入文件本身之前将其所有数据写入 ext 3 日志;
- s:当删除具有“s”属性集的文件时,其块将被归零并写回磁盘;
- S:当修改具有“S”属性集的文件时,更改将同步写入磁盘;这相当于应用于文件子集的“同步”挂载选项;
- u:当删除具有‘u’属性集的文件时,它的内容将被保存。
语法格式:chattr [参数][文件]
常用参数
参数 | 注释 |
---|---|
-R | 递归处理目录下的所有文件 |
-v | 设置文件或目录版本 |
-V | 显示指令执行过程 |
+ | 开启文件或目录的该项属性 |
-- | 关闭文件或目录的该项属性 |
= | 指定文件或目录的该项属性 |
参考实例
# 用chattr命令防止系统中某个关键文件被修改(加锁):
[root@xiaobei xiaobei]# chattr +i file.txt
# 解锁:
[root@xiaobei xiaobei]# chattr -i file.txt
# 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
[root@xiaobei xiaobei]# chattr +a file.txt