Linux命令之chattr命令

news2024/10/7 6:51:05

一、chattr命令简介

  chattr命令用于更改文件或目录的属性,包括不可修改属性、同步属性、追加属性、无尽属性、压缩属性、无尽属性、不可删除属性等。chattr命令只能由超级用户或文件的所有者使用。

二、chattr命令使用示例

1、给文件设置版本

  -v参数设置版本信息只在extX(ext4…)文件系统下支持,xfs文件系统设置文件版本时会报错对设备不适当的 ioctl 操作。

[root@s153 ~]# chattr -v 2 -V hi.txt
chattr 1.41.12 (17-May-2010)
hi.txt的标志被设为 -------------e-
Version of hi.txt set as 2
[root@s152 test]# chattr -v 2 -V a.txt
chattr 1.42.9 (28-Dec-2013)
a.txt的标志被设为 ----------------
Version of a.txt set as 2
chattr: 对设备不适当的 ioctl 操作 while setting version on a.txt

2、递归设置目录下文件属性

[root@s152 test]# chattr -R -a -V level1-1/
chattr 1.42.9 (28-Dec-2013)
level1-1/的标志被设为 ----------------
level1-1//level2-1的标志被设为 ----------------
level1-1//level2-2的标志被设为 ----------------
level1-1//level2-2/ccc.txt的标志被设为 ----------------
level1-1//level2-3的标志被设为 ----------------
level1-1//bb.txt的标志被设为 ----------------

3、使用-V参数显示指令执行过程

[root@s152 test]# chattr -R -a -V level1-1
chattr 1.42.9 (28-Dec-2013)
level1-1的标志被设为 ----------------
level1-1/level2-1的标志被设为 ----------------
level1-1/level2-2的标志被设为 ----------------
level1-1/level2-2/ccc.txt的标志被设为 ----------------
level1-1/level2-3的标志被设为 ----------------
level1-1/bb.txt的标志被设为 ----------------

4、增加一个属性

[root@s152 test]# lsattr a.txt
---------------- a.txt
[root@s152 test]# chattr +i a.txt
[root@s152 test]# lsattr a.txt
----i----------- a.txt

5、删除一个属性

[root@s152 test]# chattr -i -V a.txt
chattr 1.42.9 (28-Dec-2013)
a.txt的标志被设为 ----------------
[root@s152 test]# lsattr a.txt
---------------- a.txt

6、指定文件属性

  使用=指定文件的属性,实际上文件支持的各属性之间有部分是冲突的,所以很少用到=参数来指定属性,常用±参数来增加或者减少一个属性。

[root@s152 test]# chattr =iaA -V a.txt
chattr 1.42.9 (28-Dec-2013)
a.txt的标志被设为 ----ia-A--------

三、chattr命令语法及参数说明

1、命令语法

#chattr [参数] 文件或者目录
#chattr ±=[属性] 文件或者目录
#chattr [参数] [属性] 文件或者目录

2、参数说明

参数参数说明
-R递归处理,将指令目录下的所有文件及子目录一并处理
-v<版本编号>设置文件或目录版本,此参数只适用于extx文件系统
-V显示指令执行过程
-f抑制大多数错误信息
+<属性>开启文件或目录的该项属性
-<属性>关闭文件或目录的该项属性
=<属性>指定文件或目录的该项属性

3、属性说明

  当前主流Linux内核中实现的ext2、ext3和ext4文件系统不支持“c”、“s”和“u”属性。实际上这些属性中常用只有a和i,追加属性长用于日志文件,保证日志文件不会被删除,只允许追加日志记录;i属性用于锁定重要的配置文件,避免误删除或者修改等。

属性属性说明
a该属性只允许在文件末尾添加数据,不允许修改或删除文件的内容。
A设置该属性时,文件atime时间不再更新。
c默认将文件或目录进行压缩。
C设置了“C”属性的文件将不会进行写时复制更新。只有在执行写时复制的文件系统上才支持此标志
d当进行文件系统备份时,不备份该文件或目录。
D当修改具有“D”属性集的目录时,更改将同步写入磁盘;这相当于应用于文件子集的“dirsync”装载选项。要求内核版本2.5.19以上
i禁止对文件或目录进行任何修改操作,包括修改、删除、重命名等。
j允许文件系统支持日志功能,只在ext3、ext4环境下支持。
s当文件被删除时,将其内容清零。
S当修改具有“S”属性集的文件时,更改将同步写入磁盘;这相当于应用于文件子集的“sync”装载选项
t让文件系统支持尾部合并(tail-merging),只有ext2和ext3支持尾部合并
T具有“T”属性的目录将被视为目录层次结构的顶部。这是对ext3和ext4使用的块分配器的一个提示。
u删除具有“u”属性集的文件时,将保存其内容。这允许用户请求取消删除。

四、chattr命令使用实践

1、使用i属性锁定/etc/shadow文件,保证系统用户安全

  使用i属性锁定文件后即使是root用户也无法直接删除、修改、更新,需要先解锁才可以对文件进行操作。编辑被i锁定的文件会提示是只读文件,即使使用wr!也无法完成保存,对文件的任何更新、修改操作都必须再解锁后执行。我们在完成操作系统用户等配置之后,可以锁定/etc/shadow文件,用于保障系统账户安全。
在这里插入图片描述

[root@s152 test]# chattr +a a.txt
[root@s152 test]# rm -rf a.txt
rm: 无法删除"a.txt": 不允许的操作
[root@s152 test]# echo “This is add message test” >> a.txt
-bash: a.txt: 权限不够
[root@s152 test]# vim a.txt

2、使用a属性锁定/var/log/messages,防止日志文件被篡改

  使用a属性控制/var/log/messages文件只能追加,不允许删除、覆盖等操作,可以保证系统日志的的安全。
在这里插入图片描述

[root@s152 test]# chattr +a /var/log/messages
[root@s152 test]# lsattr /var/log/messages
-----a---------- /var/log/messages

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1044747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库备份的几种方式

数据已成为当今数字时代公司的主要资产。然而&#xff0c;数据的安全性和完整性也成为企业经营的主要挑战。数据库备份对于维护这些宝贵的数据尤为重要。本文将详细介绍几种比较常见的数据库备份方式&#xff0c;帮助用户掌握如何有效地保护数据&#xff0c;保证业务的可持续发…

linux使用操作[1]

文章目录 版权声明快捷键ctrl c 强制停止ctrl d 退出、登出history命令光标移动快捷键清屏快捷键 软件安装命令常见linux系统包管理器yum命令apt命令 systemctl命令软连接日期&时区修改linux时区ntp程序 IP地址&主机名ip&主机名域名解析win配置主机名映射虚拟机…

Mysql003:基础查询

目录&#xff1a; 1. 基本查询 2. 条件查询&#xff08;where&#xff09; 3. 聚合函数&#xff08;count、max、min、avg、sum&#xff09; 4. 分组查询&#xff08;group by&#xff09; 5. 分组后查询&#xff08;having&#xff09; 6. 排序查询&#xff08;order by&#…

【空间-光谱联合注意网络:多时相遥感图像】

A Spatial–Spectral Joint Attention Network for Change Detection in Multispectral Imagery &#xff08;一种用于多光谱图像变化检测的空间-光谱联合注意网络&#xff09; 变化检测是通过比较双时相图像来确定和评估变化&#xff0c;这是遥感领域的一项具有挑战性的任务…

Wireshark抓包分析ICMP协议

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 分析目的&#xff1a;分析ICMP协议的数据格式、报文…

【赠书活动】无测试组织:测试团队的敏捷转型

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

不可忽视的字符函数与字符串函数:它们如何改变你的编程世界

&#x1f493;博客主页&#xff1a;江池俊的博客⏩收录专栏&#xff1a;C语言进阶之路&#x1f449;专栏推荐&#xff1a;✅C语言初阶之路 ✅数据结构探索&#x1f4bb;代码仓库&#xff1a;江池俊的代码仓库&#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐ 文…

苹果恢复出厂设置怎么操作?方法在这!

手机恢复出厂设置&#xff0c;简单点来说就是将手机恢复到出厂时的默认状态。如果在使用手机的过程中遇到内存不足、系统闪退、应用卡顿等问题&#xff0c;可以尝试通过将手机恢复出厂设置来解决问题。那么&#xff0c;苹果恢复出厂设置的方法是什么&#xff1f;还不知道如何操…

API接口自动化测试框架

前言 接口自动化逐渐成为各大公司投入产出最高的测试技术。但是如何在版本迅速迭代过程中提高接口自动化的测试效率&#xff0c;仍然是大部分公司需要解决的问题。 框架定位 数据驱动设计模式&#xff0c;无需写测试代码脚本即可实现自动化等价类非等价类覆盖&#xff0c; E2E…

浅谈如何预防高层小区电气火灾的发生

【摘要】&#xff1a;随着国民经济的发展和人民生活水平的不断提高&#xff0c;我国工业用电和家庭用电量逐年增加。电气火灾造成的人员伤亡和财产损失巨大&#xff0c;时刻威胁着人们的生命及财产安全。众所周知&#xff0c;因供电线路或用电设备的损坏引发的接地电气火灾的例…

Seata入门系列【2】Spring Cloud 2021.0.5集成seata 1.7.1

1 引出分布式事务问题 1.1 seata-service-account编写查询用户、远程调用下订单接口 RestController RequestMapping("/accountTbl") public class AccountTblController {AutowiredAccountTblMapper accountTblMapper;AutowiredOrderFeign orderFeign;GetMapping(…

西门子KTP触摸屏做画面时如何把设备图片或Logo做到画面上?

西门子KTP触摸屏做画面时如何把设备图片或Logo做到画面上&#xff1f; 如下图所示&#xff0c;新建一个项目&#xff0c;添加一个触摸屏设备&#xff0c;这里以TP1200 Comfort触摸屏为例进行说明&#xff0c;双击进入根画面&#xff0c; 如下图所示&#xff0c;在右侧的工具箱中…

SpringBoot 学习(一)自动装配

本系列文章为【狂神说 Java 】视频的课堂笔记&#xff0c;若有需要可配套视频学习。 1.1 pom.xml (1) 父工程&#xff08; spring-boot-starter-parent &#xff09; 核心依赖&#xff0c;静态资源过滤等配置。编写或导入 springboot 依赖时不需要指定版本号&#xff0c;继承…

MySQL 连接查询(多表查询 二)

基本介绍 作用&#xff1a;连接查询&#xff08;Join&#xff09;操作&#xff0c;用于联结多个表以获取更全面和准确的数据 基本分类&#xff1a; 内连接&#xff1a;相当于查询A、B交集部分数据&#xff08;去掉迪卡尔积无效组合&#xff09;外连接&#xff1a; 左外连接&…

nginx: 部署前端项目的详细步骤(vue项目build打包+nginx部署)

目录 第一章 前言 第二章 准备工作 2.1 项目打包理解 2.1.1 打包命令 2.1.2 理解npm run serve/dev 和 npm run build命令 2.2 nginx参数配置理解 2.2.1 nginx常用基本命令 2.2.2 默认配置 2.2.3 搭建不同网站的站点 2.2.4 禁止访问的目录以及一键申请SSL证书验证目录…

Red Hat更新开发套件了,有你期待的功能吗?

导读近日&#xff0c;Red Hat公司将Red Hat Development Suite更新到了2.0版本&#xff0c;其中包括对Red Hat JBoss Development Suite和Red Hat Container Development Kit的一系列优化。 Red Hat Development Suite 2.0版本的主题是扩展可用性与产品集成&#xff0c;以及扩展…

毕业设计--基于SpringBoot+Vue的科研课题项目管理系统

介绍 基于SpringBootVue的科研课题项目管理系统 &#xff1b; 实现 登录 /注销、 用户管理、项目管理、申报管理、变更管理、结题管理、角色管理、权限管理、数据字典等功能 &#xff1b; 可作为 SpringBoot前后端分离项目 开发练习模型、课程设计 、 毕业设计 等。 环境准…

上车加速!为下一代LCoS HUD造势,华为和哪些企业在领跑

高工智能汽车研究院监测数据显示&#xff0c;今年1-7月中国市场&#xff08;不含进出口&#xff09;乘用车前装标配W/AR HUD交付108.35万辆&#xff0c;同比增长47.98%&#xff0c;前装搭载率升至9.82%。 其中&#xff0c;从价位区间分布来看&#xff0c;30万元及以上车型标配W…

【如何看待Unity收费】对标中小公司的待就业者的该如何做

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

多个vtk文件合并

收费工具&#xff0c;白嫖党勿扰 收费金额200元 程序下载链接 1 概述 最近在项目上&#xff0c;有一个客户&#xff0c;通过超算&#xff0c;得到了几百个vtk文件&#xff0c;让我们显示出来&#xff0c;将这几百个vtk文件分别解析&#xff0c;然后再做可视化显示&#xff0c…