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@coonote ~]# chattr i /etc/resolv.conf
解锁:
[root@coonote ~]# chattr -i /home/omd/h.txt
让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
[root@coonote ~]# chattr a /var/log/messages