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

Linux文件隐藏属性及chattr和lsattr命令

chattr命令

[root@study ~]# chattr [+-=] [ASacdistu] 文件或目录名称
选项与参数:+ :增加某一个特殊参数,其他原本存在参数则不动。- :移除某一个特殊参数,其他原本存在参数则不动。= :设置等于,且仅有后面接的参数A :当设置了 A 这个属性时,若你有存取此文件(或目录)时,他的存取时间 atime 将不会被修改,可避免 I/O 较慢的机器过度的存取磁盘。(目前建议使用文件系统挂载参数处理这个项目)S :一般文件是非同步写入磁盘的(原理请参考前一章sync的说明),如果加上 S 这个属性时,当你进行任何文件的修改,该更动会“同步”写入磁盘中。a :当设置 a 之后,这个文件将只能增加数据,而不能删除也不能修改数据,只有root 才能设置这属性c :这个属性设置之后,将会自动的将此文件“压缩”,在读取的时候将会自动解压缩,但是在储存的时候,将会先进行压缩后再储存(看来对于大文件似乎蛮有用的!)d :当 dump 程序被执行的时候,设置 d 属性将可使该文件(或目录)不会被 dump 备份i :这个 i 可就很厉害了!他可以让一个文件“不能被删除、改名、设置链接也无法写入或新增数据!”对于系统安全性有相当大的助益!只有 root 能设置此属性s :当文件设置了 s 属性时,如果这个文件被删除,他将会被完全的移除出这个硬盘空间,所以如果误删了,完全无法救回来了!u :与 s 相反的,当使用 u 来设置文件时,如果该文件被删除了,则数据内容其实还存在磁盘中,可以使用来救援该文件!
注意1:属性设置常见的是 a 与 i 的设置值,而且很多设置值必须要身为 root 才能设置
注意2:xfs 文件系统仅支持 AadiS 参数
范例:到/tmp下面创建文件,并加入 i 的参数,尝试删除看看。
[root@study ~]# cd /tmp
[root@study tmp]# touch attrtest <==创建一个空文件
[root@study tmp]# chattr +i attrtest <==给予 i 的属性
[root@study tmp]# rm attrtest <==尝试删除看看
rm: remove regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted
设置i属性的文件连 root 也没有办法将这个文件删除
范例:将该文件的 i 属性取消!
[root@study tmp]# chattr -i attrtest

lsattr命令

[root@study ~]# lsattr [-adR] 文件或目录
选项与参数:-a :将隐藏文件的属性也秀出来;-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;-R :连同子目录的数据也一并列出来!
[root@study tmp]# chattr +aiS attrtest
[root@study tmp]# lsattr attrtest
--S-ia---------- attrtest

注:这两个指令在使用上必须要特别小心,否则会造成很大的困扰。例如:某天你心情好,突然将 /etc/shadow 这个重要的密码记录文件给他设置成为具有 i 的属性,那么过了若干天之后, 你突然要新增使用者,却一直无法新增,那么很有可能就是它的原因。(当Linux无法新增使用者时可以作为一个思路)

相关文章:

  • 【C语言】操作符
  • CTF CRYPTO 密码学-1
  • Netty-Netty组件了解
  • Apache StringUtils:Java字符串处理工具类
  • openGauss学习笔记-198 openGauss 数据库运维-常见故障定位案例-分析查询效率异常降低的问题
  • 多级缓存架构(二)Caffeine进程缓存
  • javascript的三元运算
  • 【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格
  • openssl3.2 - 官方demo学习 - mac - gmac.c
  • Visual Studio Code 1.67调整文件嵌套、Markdown导航
  • yolov7_Obb环境安装
  • YOLOv8改进 | 检测头篇 | 利用DBB重参数化模块魔改检测头实现暴力涨点 (支持检测、分割、关键点检测)
  • 红黑树(RBTree)
  • 如何在 Ubuntu 中更改时区设置
  • 谷歌地图多个maker标记点击显示当前信息弹窗infowindow
  • [笔记] php常见简单功能及函数
  • [译] React v16.8: 含有Hooks的版本
  • 11111111
  • angular组件开发
  • ECS应用管理最佳实践
  • ES6--对象的扩展
  • Facebook AccountKit 接入的坑点
  • JavaScript服务器推送技术之 WebSocket
  • pdf文件如何在线转换为jpg图片
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • php的插入排序,通过双层for循环
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 机器学习 vs. 深度学习
  • 使用SAX解析XML
  • 智能合约Solidity教程-事件和日志(一)
  • - 转 Ext2.0 form使用实例
  • const的用法,特别是用在函数前面与后面的区别
  • 阿里云服务器购买完整流程
  • 阿里云移动端播放器高级功能介绍
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #NOIP 2014# day.2 T2 寻找道路
  • #Z0458. 树的中心2
  • (day 12)JavaScript学习笔记(数组3)
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (SpringBoot)第二章:Spring创建和使用
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (第一天)包装对象、作用域、创建对象
  • (分享)自己整理的一些简单awk实用语句
  • (理论篇)httpmoudle和httphandler一览
  • (算法)Travel Information Center
  • (算法二)滑动窗口
  • (转)【Hibernate总结系列】使用举例
  • (转)创业的注意事项
  • (转载)Linux 多线程条件变量同步
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net 按比例显示图片的缩略图
  • .NET 表达式计算:Expression Evaluator