当前位置: 首页 > news >正文

Linux中命令lsattr/chattr

一、介绍
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 命令防止系统中某个关键文件被修改:

[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)让某个文件只能追加内容,不能删除或修改,一些日志文件适用于这种操作。

[root@192 admin]# chattr +a demo.log

相关文章:

  • react_6
  • 全面的Docker快速入门教程
  • U盘显示无媒体怎么办?方法很简单
  • 在校园跑腿系统小程序中,如何设计高效的实时通知与消息推送系统?
  • ARCGIS---dem生成高程点
  • 最近又考了两个Oracle认证,交一下作业
  • LV.12 D17 中断控制器 学习笔记
  • 前端的几种网络请求方式
  • 内涝积水监测仪怎么样?万宾科技城市内涝积水监测的作用
  • ZZ038 物联网应用与服务赛题第J套
  • 为什么是LangChain?
  • easyHttp -- 轻量级的 HTTP 客户端工具包
  • 有限域的Fast Multiplication和Modular Reduction算法实现
  • mermaid学习第一天/更改主题颜色和边框颜色/《需求解释流程图》
  • AI 绘画 | Stable Diffusion 提示词
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【Amaple教程】5. 插件
  • 【node学习】协程
  • Angular 4.x 动态创建组件
  • JavaScript 基本功--面试宝典
  • js对象的深浅拷贝
  • React+TypeScript入门
  • 规范化安全开发 KOA 手脚架
  • 猴子数据域名防封接口降低小说被封的风险
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 使用 Xcode 的 Target 区分开发和生产环境
  • Java数据解析之JSON
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • #14vue3生成表单并跳转到外部地址的方式
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (超详细)语音信号处理之特征提取
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (三)elasticsearch 源码之启动流程分析
  • (已解决)什么是vue导航守卫
  • (转)scrum常见工具列表
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET多线程执行函数
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [04]Web前端进阶—JS伪数组
  • [2017][note]基于空间交叉相位调制的两个连续波在few layer铋Bi中的全光switch——
  • [20170713] 无法访问SQL Server
  • [acm算法学习] 后缀数组SA
  • [Android] 修改设备访问权限
  • [CSS]中子元素在父元素中居中
  • [IE技巧] IE 中打开Office文件的设置
  • [iOS]GCD(一)