(给Linux兴趣者加星标,提高Linux技能)
转载:恋猫大鲤鱼
https://dablelv.blog.csdn.net/article/details/78505844
1.简介
chattr 与 lsattr 分别用于改变和表示文件属性,与 chmod 命令相比,chmod 只改变文件的读写、执行权限,更底层的属性掌控是由于 chattr 来改变的。
2.chattr 命令
2.1 命令格式
chattr [ -RVf ] [ -v version ] [ mode ] files...
2.2 参数说明
-R
递归地改变指定目录下文件的属性。此选项忽略符号链接;
-V
表示命令执行的仔细信息;
-f
大部分错误信息不输出;
-v
设置文件版本号;
+
在原有参数设定基本上,追加参数;
-
在原有参数设定基本上,移除参数;
=
更新指定参数设定
最关键的是 [mode] 部分,[mode] 部分由 + - = 和字符 [acdeijstuADST] 组合而成,这部分是用来掌控文件的属性。
chattr 能够改变的文件系统属性有: 属性含义aappend only,只准许向文件追加数据,不准许删除和修改文件内容。倘若目录有拥有这个属性,系统将只准许在目录下简历和修改文件,不准许删除任何文件。仅有root才可设置该属性ccompress,自动将文件压缩,在读取时自动解压缩dNo dump,在进行文件系统备份时,dump指令忽略此文件eextent format,在ext文件系统中,暗示该文件运用区段(extents)映射磁盘上的块iimmutable,不准许对文件进行任何的修改。针对目录而言,只能修改目录之下的文件,不准许创立和删除文件。仅有root能设置此属性jjournal,设定此参数使得当经过mount参数:data=ordered 或 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。倘若filesystem被设定参数为 data=journal,则该参数自动失效ssecure deletion,系统在删除文件时,运用0填充文件所在的区域tno tail-merging,文件持有t属性时,与其它文件合并时末端不会存在局部块碎片uundeletable,与s相反,删除文件时,文件内容其实还存在磁盘中,以便以后能够恢复删除的文件AAtime,不可修改文件的最后拜访时间D倘若一个目录设置了D属性,任何改变将同步到磁盘;这等价于mount命令中的dirsync选项,同步目录SSync,一旦应用程序对文件执行了写操作,则立刻将改动同步到磁盘T目录设置T属性,Orlov块分配器将该目录视为目录层次结构的顶部,提示块分配器该目录下的子目录是无关的,将被分散的分配重视:chattr 指令所修改的文件属性和 chmod 指令修改的文件属性是两个区别层次的属性,前者是底层文件系统来设定的,而 chmod 指令则是站在用户运用的方向来设定的。
2.3 平常示例
(1)用 chattr 命令防止系统中某个关键文件被修改:
chattr +i /etc/resolv.conf
而后用mv /etc/resolv.conf等命令功效于该文件,都会得到 Operation not permitted 的结果。vim 编辑该文件时会提示W10: Warning: Changing a readonly file错误。想要修改此文件需要把 i 属性去掉:
chattr -i /etc/resolv.conf
(2)让某个文件只能追加内容,不可删除或修改,有些日志文件适用于这种操作。
chattr +a /data1/user_act.log
3.lsattr 命令
3.1 命令格式
lsattr [ -RVadv ] [ files... ]
3.2 命令选项
-R
递归列出子目录及其文件的属性
-V
表示lsattr版本信息
-a
表示所有隐匿的文件属性
-d
倘若是目录,则只表示目录本身的属性,而非目录内的文件名
-v
表示文件版本号
##3.3运用示例 [root@add_friend_protect ~/dablelv]# lsattr -vV
lsattr 1.41.12 (17-May-2010)
18446744072009275534 --------------- ./demo
18446744072009481631 --------------- ./inputFile.txt
18446744072009374382 -----a--------- ./input_file.txt
第1行径 lsattr 版本信息,第1列为文件版本号,最后一个文件 input_file.txt 属性 a,暗示只追加属性。
参考文献
[1] man chattr
[2] man lsattr [3](总结)Linux的chattr与lsattr命令详解
给咱们公号发送 命令 二字,获取“每日一个Linux命令”系列的完整目录。
- EOF - 举荐阅读 点击标题可转
1、每日一个 Linux 命令(111):ipcs 命令
2、每日一个 Linux 命令(113):expand 命令
3、每日一个 Linux 命令(112):svn 命令
看完本文有收获?请分享给更加多人
举荐关注「Linux 兴趣者」,提高Linux技能
点赞和在看便是最大的支持❤️
|