chattr命令详解

chattr命令主要用于改变文件的属性设置

属性:

a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。

参数:

-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-v<版本编号>:设置文件或目录版本;
-V:显示指令执行过程;
+<属性>:开启文件或目录的该项属性;
-<属性>:关闭文件或目录的该项属性;
=<属性>:指定文件或目录的该项属性。

用法示例:

# 增加cnbugs.txt文件的i属性
[root@hadoop-227 ~]# chattr +i cnbugs.txt 
# 尝试删除cnbugs.txt,无法删除
[root@hadoop-227 ~]# rm -f cnbugs.txt 
rm: 无法删除"cnbugs.txt": 不允许的操作
# 写入修改也无法写入
[root@hadoop-227 ~]# echo aa >>cnbugs.txt 
-bash: cnbugs.txt: 权限不够
# 增加zookeeper.out文件的a属性
[root@hadoop-227 ~]# chattr +a zookeeper.out 
# 修改无法修改
[root@hadoop-227 ~]# echo aa >zookeeper.out 
-bash: zookeeper.out: 不允许的操作
# 追加成功
[root@hadoop-227 ~]# echo aa >>zookeeper.out 
# 无法删除
[root@hadoop-227 ~]# rm -f zookeeper.out 
rm: 无法删除"zookeeper.out": 不允许的操作

发表评论

后才能评论