说明

  chattr命令用于改变文件的扩展属性。更加底层的控制文件的属性。

格式

  chattr [option] [file..]

常用参数说明

  • -R:递归更改目录的属性
  • -V:显示命令的执行过程
  • +:添加参数
  • -:移除参数
  • =:更新为指定参数
  • A:不能修改文件的最后访问时间
  • a:只能添加数据到文件,不能删除,主要用于日志文件
  • i:设定文件不能删除、改名、写入或者新增内容
示例
[root@localhost test]# lsattr test2.txt 
---------------- test2.txt
[root@localhost test]# chattr +a test2.txt #a参数使用
[root@localhost test]# lsattr test2.txt 
-----a---------- test2.txt
[root@localhost test]# echo 1111 > test2.txt  #不能清空
-bash: test2.txt: 不允许的操作
[root@localhost test]# echo 1111 >> test2.txt  #可以写入
[root@localhost test]# cat test2.txt 
fdasfsafsafdasfsafsafsadfs
1111
[root@localhost test]# rm -f test2.txt #不能删除
rm: 无法删除"test2.txt": 不允许的操作
[root@localhost test]# chattr -a test2.txt #移除参数a
[root@localhost test]# lsattr test2.txt 
---------------- test2.txt
[root@localhost test]# echo 222 > test2.txt #可以清空

[root@localhost test]# chattr +i test2.txt  #添加i参数
[root@localhost test]# lsattr test2.txt 
----i----------- test2.txt
[root@localhost test]# echo 333 > test2.txt #不能清空
-bash: test2.txt: 权限不够
[root@localhost test]# echo 333 >> test2.txt  #不能追加内容
-bash: test2.txt: 权限不够
[root@localhost test]# rm test2.txt  #不能移除
rm:是否删除普通文件 "test2.txt"?y
rm: 无法删除"test2.txt": 不允许的操作
[root@localhost test]# chattr -i test2.txt #移除i参数
[root@localhost test]# lsattr test2.txt 
---------------- test2.txt