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 可以改变的文件系统属性有:

属性 含义
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块分配器将该目录视为目录层次结构的顶部,提示块分配器该目录下的子目录是无关的,将被分散的分配

注意:
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

第一行为 lsattr 版本信息,第一列为文件版本号,最后一个文件 input_file.txt 属性 a,表示只追加属性。


参考文献

[1] man chattr
[2] man lsattr
[3](总结)Linux的chattr与lsattr命令详解

Linux 命令(16)—— chattr 与 lsattr 命令相关推荐

  1. linux 改变文件夹属性,技术|在Linux中用chattr和lsattr命令管理文件和目录属性

    为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性.例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dum ...

  2. linux中lsattr命令,在Linux中用chattr和lsattr命令管理文件和目录属性

    为了允许添加数据,防止更改或者删除等,文件和文件夹可以设定了特定的控制属性.例如,你可以在关键的系统文件或者文件夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dum ...

  3. Linux的chattr与lsattr命令详解

    摘自:http://www.ha97.com/5172.html PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一 ...

  4. linux chattr与lsattr命令 底层权限控制

    有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux ...

  5. Linux文件系统属性权限chattr与lsattr命令

    有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux ...

  6. Linux chattr 与 lsattr命令

    PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...

  7. Linux的chattr与lsattr命令详解(重点-i参数,锁定文件,禁止修改文件)

    PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...

  8. chattr和lsattr命令

    1.查看命令含义和使用方法 可以使用 man chattr | man lsattr 查看 chattr - change file attributes on a Linux file system ...

  9. chattr和lsattr命令的使用(对于root用户也无法修改删除的操作问题)

    1.chattr命令的用法:chattr [+-=] [ASacdistu] File/Directory 参数说明: +-= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思 A :当 ...

最新文章

  1. 使用Apache Archiva管理Maven仓库
  2. (89)Verilog HDL系统函数和任务:$fwrite
  3. 别人家的公司!Facebook向每位员工发放1000美元,鼓励远程办公
  4. 刘强东凌晨发内部信:取消底薪不是为了降低工资
  5. 猫都能学会的Unity3D Shader入门指南(一)
  6. CentOS7 安装管理KVM虚拟机
  7. Svchost进程应用技巧
  8. dynamips虚拟服务:找不到指定设备
  9. 通过JS获取手机浏览器的类型
  10. CMS系统简介(从简介到使用)
  11. docker 存储驱动之overlay2
  12. slambook2 ch3 Ubuntu18.04下运行和调试
  13. sqlplus 命令简单整理
  14. 电子商务时代网络营销
  15. springboot 页面静态化
  16. 时空弯曲是必须的吗?
  17. 如何使用计算机自带的刻录软件,windows自带刻录软件,联想自带的刻录软件
  18. 计算机毕业设计Node.js+Vue高校网上报销系统(程序+源码+LW+部署)
  19. 三维激光扫描技术入门
  20. 乐视盒子服务器怎么没有响应,乐视盒子连不上网怎么办

热门文章

  1. 成都睿铂x云南省地矿测绘院:丽江玉龙高精度地籍免像控案例分享
  2. 苹果iPhone XI新爆料:用了被小米当噱头的TOF技术
  3. PHP使用CodeIgniter笔记
  4. dom文档对象模型图
  5. jQuery实现Ajax
  6. Sentinel 简介与API订阅发布
  7. 创建和使用约束Constraint
  8. Ansi,UTF8,Unicode编码
  9. [Python] L1-028. 判断素数-PAT团体程序设计天梯赛GPLT
  10. L1-026. I Love GPLT-PAT团体程序设计天梯赛GPLT