文件隐藏属性之:lsattr 以及chattr

Posted 弧度创意

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件隐藏属性之:lsattr 以及chattr相关的知识,希望对你有一定的参考价值。

lsattr用来显示文件隐藏属性,它不同于文件本身固有的rwx这三种属性。lsattr感觉更像是用来针对系统的属性,而rwx更像是用来针对用户的属性!

使用 lsattr 命令来显示文件属性:

例如:# lsattr /etc/resolv.conf

输出结果为:

----i-------- /etc/resolv.conf

chattr [参数 ][文件或目录...]

参数:

-a  显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。

-d  显示,目录名称,而非其内容。

-l  此参数目前没有任何作用。

-R  递归处理,将指定目录下的所有文件及子目录一并处理。

-v  显示文件或目录版本。

-V  显示版本信息。

chattrchattr [+  - 参数 ][文件或目录...]

注:当需要增加某一功能时选择用+,去掉某一功能时用-

A:即Atime,告诉系统不要修改对这个文件的最后访问时间。

S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。

a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。

b:不更新文件或目录的最后存取时间。

c:将文件或目录压缩后存放。

d:当dump程序执行时,该文件或目录不会被dump备份。

D:检查压缩文件中的错误。

i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。

s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。

u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。

t:文件系统支持尾部合并(tail-merging)。

X:可以直接访问压缩文件的内容。

1、用chattr命令防止系统中某个关键文件被修改:

操作命令时要使用root账户

# chattr +i /etc/resolv.conf

执行这条命令以后无法对此文件进行任何操作,

vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉:

chattr -i /etc/resolv.conf

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

# chattr +a /var/log/messages

要想修改此文件就要把a属性去掉:

# chattr -a /var/log/messages

以上是关于文件隐藏属性之:lsattr 以及chattr的主要内容,如果未能解决你的问题,请参考以下文章

chattr,lsattr文件隐藏属性

Linux 文件隐藏属性 chattr, lsattr

lsattr chattr命令 文件的隐藏权限

Linux 20180412 隐藏权限lsattr_chattr等

chattr文件隐藏属性

chattr 文件隐藏属性 / chmod u+s / chmod g+s / chmod o+t 特殊权限