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@linuxcool ~]# chattr +i /etc/resolv.conf

解锁:

[root@linuxcool ~]# chattr -i /home/omd/h.txt    

让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

[root@linuxcool ~]# chattr +a /var/log/messages

Author

这篇优质的内容由TA贡献而来

尹慧慧

长安大学在读硕士生