天涯论坛

 找回密码
 立即注册
搜索
查看: 42|回复: 2

每日一个 Linux 命令(116):chattr 与 lsattr 命令

[复制链接]

2973

主题

412

回帖

9117万

积分

论坛元老

Rank: 8Rank: 8

积分
91179187
发表于 2024-8-22 14:40:49 | 显示全部楼层 |阅读模式

(给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技能

点赞和在看便是最大的支持❤️





上一篇:Linux系统安全
下一篇:详解Linux chattr 命令,超越权限任性修改
回复

使用道具 举报

3070

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158931
发表于 2024-9-25 23:28:54 | 显示全部楼层
楼主果然英明!不得不赞美你一下!
回复

使用道具 举报

3070

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99138950
发表于 2024-10-4 11:11:45 | 显示全部楼层
seo常来的论坛,希望我的网站快点收录。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 19:21 , Processed in 0.104121 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.