创建一个目录,并在目录中创建一个文件夹和文件
[root@k8s-m-01 ~]# mkdir /aaa/
[root@k8s-m-01 ~]# cd /aaa/
[root@k8s-m-01 aaa]# mkdir bbb
[root@k8s-m-01 aaa]# touch ccc
[root@k8s-m-01 aaa]# ls
bbb ccc
使用chattr对/aaa/目录下所有文件进行锁定可以发现锁定后无法删除,解除锁定后文件夹和文件可以删除
[root@k8s-m-01 aaa]# pwd
/aaa
[root@k8s-m-01 aaa]# ll
总用量 0
drwxr-xr-x 2 root root 6 10月 15 01:15 bbb
-rw-r--r-- 1 root root 0 10月 15 01:15 ccc
[root@k8s-m-01 aaa]# chattr +i /aaa/*
[root@k8s-m-01 aaa]# lsattr /aaa/
----i----------- /aaa/bbb
----i----------- /aaa/ccc
[root@k8s-m-01 aaa]# rm -rf ./*
rm: 无法删除"./bbb": 不允许的操作
[root@k8s-m-01 aaa]# chattr -i /aaa/*
[root@k8s-m-01 aaa]# lsattr /aaa/
---------------- /aaa/bbb
---------------- /aaa/ccc
[root@k8s-m-01 aaa]# rm -rf ./*
以下是man手册中chattr的语法
chattr [ -RVf ] [ -v version ] [ mode ] files...
-R 递归更改目录及其内容的属性。
-V 详细说明 chattr 的输出并打印程序版本。
-f 禁止大多数错误消息。
‘+’选项,将给文件添加属性;‘-’选项,移除文件中的属性;‘=’选项,使得文件只有这些属性。
a:只能附加数据A:不修改访问时间c:压缩文件,C:不执行写入时复制(COW) 。多个调用者获取同一个资源,这时,另一个调用者对这资源进行了修改,不生成一个副本给d:不 dump D: 同步更新目录e:extent格式(一种文件系统格式)i:不能修改。不能删除或重命名,不能创建到该文件的链接,也不能向该文件写入数据。只有超级用户或拥有 CAP_LINUX_IMMUTABLE 能力的进程才能设置或清除此属性。j:数据日志s:安全删除S:同步更新t:不知道文件尾部合并T:目录层次的顶部u:文件被删除时,其内容会被保存,后面可以请求恢复