Linux chattr命令使用详解
chattr命令用于改变文件属性。
用法
chattr [ -RVf ] [ -v version ] [ -p project ] [ mode ] files…
描述
符合mode
的格式是+-=[aAcCdDeijPsStTu]
+
: 选中的符合将被添加到文件-
: 选中的符合将被从文件中移除=
: 文件的属性将被设置为选中的文件
mode
字符的含义:
字符 | 含义 |
---|---|
a | 让文件或目录仅供附加用途 |
A | 当一个具有“A”属性的文件被访问时,它的atime记录不会被修改 |
b | 不更新文件或目录的最后存取时间 |
c | 将文件或目录压缩后存放 |
C | 不使用Copy On Write |
d | 将文件或目录排除在dump操作之外 |
D | 同步目录更新 |
e | 范围格式 |
F | 目录查询时大小写不明感 |
i | 不得任意更动文件或目录 |
j | 使用数据日志 |
P | 项目层次 |
s | 保密性删除文件或目录 |
S | 同步更新 |
t | 没有尾部合并 |
T | 目录顶部层次结构 |
u | 预防意外删除 |
E | 加密(只读) |
I | 索引目录(只读) |
N | 内联数据(只读) |
注意
并非所有的文件系统支持以上的所有文件属性
选项
选项 | 说明 |
---|---|
-R | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-V | 显示指令执行过程和程序版本号 |
-f | 抑制大多数错误消息 |
-v version | 设置文件的版本号 |
-p proeject | 设置文件的项目编号 |
实例
用chattr命令防止系统中某个关键文件被修改(加锁):
1 | chattr +i /etc/resolv.conf |
解锁:
1 | chattr -i ~/h.txt |
让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
1 | chattr +a /var/log/messages |