文件管理 · 2022年02月20日 0

chattr命令 – 更改文件属性

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