一、介绍
lsattr 命令用于显示文件属性。
用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。
二、语法
lsattr:
- -a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
- -d 显示,目录名称,而非其内容。
- -l 此参数目前没有任何作用。
- -R 递归处理,将指定目录下的所有文件及子目录一并处理。
- -v 显示文件或目录版本。
- -V 显示版本信息。
chattr:
a append only,只允许向文件追加数据,不允许删除和修改文件内容。如果目录有具有这个属性,系统将只允许在目录下简历和修改文件,不允许删除任何文件。只有root才能设置该属性
c compress,自动将文件压缩,在读取时自动解压缩
d No dump,在进行文件系统备份时,dump指令忽略此文件
e extent format,在ext文件系统中,表示该文件使用区段(extents)映射磁盘上的块
i immutable,不允许对文件进行任何的修改。对于目录而言,只能修改目录之下的文件,不允许建立和删除文件。只有root能设置此属性
j journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效
s secure deletion,系统在删除文件时,使用0填充文件所在的区域
t no tail-merging,文件拥有t属性时,与其它文件合并时末端不会存在局部块碎片
u undeletable,与s相反,删除文件时,文件内容其实还存在磁盘中,以便以后能够恢复删除的文件
A Atime,不能修改文件的最后访问时间
D 如果一个目录设置了D属性,任何改变将同步到磁盘;这等价于mount命令中的dirsync选项,同步目录
S Sync,一旦应用程序对文件执行了写操作,则立刻将改动同步到磁盘
T 目录设置T属性,Orlov块分配器将该目录视为目录层次结构的顶部,提示块分配器该目录下的子目录是无关的,将被分散的分配
三、示例
(1)用 chattr 命令防止系统中某个关键文件被修改:文章来源:https://www.toymoban.com/news/detail-742226.html
[root@192 admin]# chattr +i demo.log
[root@192 admin]# lsattr
----ia--------e------- ./demo.log
[root@192 admin]# mv demo.log demo.log.bak
mv: cannot move 'demo.log' to 'demo.log.bak': Operation not permitted
用mv demo.log等命令作用于该文件,都会得到 Operation not permitted 的结果。vim 编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件需要把 i 属性去掉:
[root@192 admin]# chattr -i demo.log
(2)让某个文件只能追加内容,不能删除或修改,一些日志文件适用于这种操作。文章来源地址https://www.toymoban.com/news/detail-742226.html
[root@192 admin]# chattr +a demo.log
到了这里,关于Linux中命令lsattr/chattr的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!