大家好,欢迎来到IT知识分享网。
一、chattr命令简介
chattr命令用于更改文件或目录的属性,包括不可修改属性、同步属性、追加属性、无尽属性、压缩属性、无尽属性、不可删除属性等。chattr命令只能由超级用户或文件的所有者使用。
二、chattr命令使用示例
1、给文件设置版本
-v参数设置版本信息只在extX(ext4…)文件系统下支持,xfs文件系统设置文件版本时会报错对设备不适当的 ioctl 操作。
2、递归设置目录下文件属性
3、使用-V参数显示指令执行过程
4、增加一个属性
5、删除一个属性
6、指定文件属性
使用=指定文件的属性,实际上文件支持的各属性之间有部分是冲突的,所以很少用到=参数来指定属性,常用±参数来增加或者减少一个属性。
三、chattr命令语法及参数说明
1、命令语法
2、参数说明
| 参数 | 参数说明 |
|---|---|
| -R | 递归处理,将指令目录下的所有文件及子目录一并处理 |
| -v<版本编号> | 设置文件或目录版本,此参数只适用于extx文件系统 |
| -V | 显示指令执行过程 |
| -f | 抑制大多数错误信息 |
| +<属性> | 开启文件或目录的该项属性 |
| -<属性> | 关闭文件或目录的该项属性 |
| =<属性> | 指定文件或目录的该项属性 |
3、属性说明
当前主流Linux内核中实现的ext2、ext3和ext4文件系统不支持“c”、“s”和“u”属性。实际上这些属性中常用只有a和i,追加属性长用于日志文件,保证日志文件不会被删除,只允许追加日志记录;i属性用于锁定重要的配置文件,避免误删除或者修改等。
| 属性 | 属性说明 |
|---|---|
| a | 该属性只允许在文件末尾添加数据,不允许修改或删除文件的内容。 |
| A | 设置该属性时,文件atime时间不再更新。 |
| c | 默认将文件或目录进行压缩。 |
| C | 设置了“C”属性的文件将不会进行写时复制更新。只有在执行写时复制的文件系统上才支持此标志 |
| d | 当进行文件系统备份时,不备份该文件或目录。 |
| D | 当修改具有“D”属性集的目录时,更改将同步写入磁盘;这相当于应用于文件子集的“dirsync”装载选项。要求内核版本2.5.19以上 |
| i | 禁止对文件或目录进行任何修改操作,包括修改、删除、重命名等。 |
| j | 允许文件系统支持日志功能,只在ext3、ext4环境下支持。 |
| s | 当文件被删除时,将其内容清零。 |
| S | 当修改具有“S”属性集的文件时,更改将同步写入磁盘;这相当于应用于文件子集的“sync”装载选项 |
| t | 让文件系统支持尾部合并(tail-merging),只有ext2和ext3支持尾部合并 |
| T | 具有“T”属性的目录将被视为目录层次结构的顶部。这是对ext3和ext4使用的块分配器的一个提示。 |
| u | 删除具有“u”属性集的文件时,将保存其内容。这允许用户请求取消删除。 |
四、chattr命令使用实践
1、使用i属性锁定/etc/shadow文件,保证系统用户安全
2、使用a属性锁定/var/log/messages,防止日志文件被篡改
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121056.html