有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。那么chattr命令怎么用呢?下面跟着学习啦小编来一起了解下吧。

chattr命令使用方法

chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。 lsattr比较简单,只是显示文件的属性[root]#lsattr

----ia---j--- ./lsattr_test

这两个命令是用来改变文件、目录属性的,和chmod,ls这些命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files...最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性。 + :在原有参数设定基础上,追加参数。

- :在原有参数设定基础上,移除参数。

= :更新为指定参数设定。

A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。

S:硬盘I/O同步选项,功能类似sync。

a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文 件安全,只有root才能设定这个属性。

c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。

d:即no dump,设定文件不能成为dump程序的备份目标。

i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。

s:保密性地删除文件或目录,即硬盘空间被全部收回。

u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.

各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。

应用实例:

1、用chattr命令防止系统中某个关键文件被修改

# chattr +i /etc/fstab 然后试一下rm mv rename等命令操作于该文件,都是得到Operation not permitted 的结果2、让某个文件只能往里面追加内容,不能删除,一些日志文件适用于这种操作# chattr +a /data1/user_act.log

chattr(change attribute)

功能说明:改变文件属性。

语  法:chattr [-RV][-v][+/-/=][文件或目录...]

补充说明:这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途。

b:不更新文件或目录的最后存取时间。

c:将文件或目录压缩后存放。

d:将文件或目录排除在倾倒操作之外。

i:不得任意更动文件或目录。

s:保密性删除文件或目录。

S:即时更新文件或目录。

u:预防以外删除。

参  数:

-R 递归处理,将指定目录下的所有文件及子目录一并处理。

-v 设置文件或目录版本。

-V 显示指令执行过程。

+ 开启文件或目录的该项属性。

- 关闭文件或目录的该项属性。

= 指定文件或目录的该项属性。

看过“chattr命令怎么用”的人还看了:

linux系统中使用chattr命令的,chattr命令怎么用相关推荐

  1. linux 内存清理 释放命令,Linux系统中的内存清理和释放命令总结

    Linux内核代码量大.逻辑关系复杂,因此对内核中的错误进行追溯和调试一直以来都是一件既耗费时间又耗费精力的事情.接下来是小编为大家收集的Linux系统中的内存清理和释放命令总结,希望能帮到大家. L ...

  2. mySQL危险命令_MYSQL教程Linux系统中最危险的10条命令

    <MYSQL教程Linux系统中最危险的10条命令>要点: 本文介绍了MYSQL教程Linux系统中最危险的10条命令,希望对您有用.如果有疑问,可以联系我们. Linux命令行佷有用.很 ...

  3. 查看linux电脑总内存,如何查看Linux系统中的内存使用情况的命令呢?

    有些命令可用于检查Linux系统中的内存使用情况.这是一些更好的命令. 有很多工具可以查看Linux系统中的内存使用情况.一些命令被广泛使用,例如free和ps.其他命令允许以多种方式显示系统的性能统 ...

  4. linux系统中安装和使用rz/sz命令详解

    对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...

  5. linux参数日期加一天,详解Linux系统中的日期设定与date命令的用法

    名称 : date 使用权限 : 所有使用者 使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=date ...

  6. linux系统如何卸载所有程序,Linux系统中完全卸载删除程序的命令

    如果您在数据中心服务器或本地服务器中使用Ubuntu或任何其他基于debian的发行版系统,您可能会遇到需要卸载软件的情况.一般情况下,您会登录并运行命令:sudo apt-get remove pa ...

  7. linux系统卸载程序命令行,Linux系统中完全卸载删除程序的命令

    如果您在数据中心服务器或本地服务器中使用Ubuntu或任何其他基于debian的发行版系统,您可能会遇到需要卸载软件的情况.一般情况下,您会登录并运行命令:sudo apt-get remove pa ...

  8. Linux系统中的文件传输(scp命令,rsync命令)

    实验环境 需要2台主机并且保证这两台主机是可以通信的 linux_westos  : 172.25.254.10 westos_lue :  172.25.254.20 systemctl disab ...

  9. linux系统中查看防火墙开放端口号命令

    1.查看防火墙状态 查看防火墙状态 systemctl status firewalld 开启防火墙 systemctl start firewalld 关闭防火墙 systemctl stop fi ...

  10. linux 文件大小_linux系统中查看目录大小的du命令常

    CentOS7.3学习笔记总结(四十六)-linux系统中查看目录大小的du命令常用方法 在windows系统中我们想查看目录或文件的大小,直接右键属性,并且还能显示别的属性,在linux系统中,一般 ...

最新文章

  1. 基于(Mixed)Integer Programming方法的服务组合相关论文实验介绍 (1)
  2. 不只会卖萌:皮卡丘们真的能改造你的大脑
  3. Linux修改终端显示前缀及环境变量
  4. Hihocoder-1135-Magic Box
  5. php 批量转换文档编码格式_据说是国内最好的文档格式转换网址~PDF,PPT,EXCEL,WORD互相转换...
  6. Apollo进阶课程㉖丨Apollo规划技术详解——Understand More on the MP Difficulty
  7. ssms .net3.5_SSMS 18.4中SQL Server查询存储选项
  8. android打造一个简单的欢迎界面
  9. Mac基础设置—应用程序
  10. HCP数据的下载,以及头动文件和CSF文件的所在位置
  11. 免杀神器-virtest定位特征码
  12. Ffmpeg 微信amr转换Mp3
  13. python输出excel指定列为文本格式_POI设置excel某列值为文本格式
  14. 什么是云计算?(IaaSPaaS,SaaS区别)
  15. 随机生成10位数QQ号.c
  16. 中国真正的毒奶粉在哪
  17. 【腾讯QQ官方正式版下载】基于Internet的即时通信(IM)软件
  18. 全局配置遮罩层(VUE Element Ui)
  19. Introduction to Fabric.js. Part 3(介绍Fabric.js第三部分)
  20. 把json中的全部key转化为驼峰式(首字母大写形式)

热门文章

  1. div+css+theme
  2. 达拉草201771010105《面向对象程序设计(java)》第十六周学习总结
  3. CopyOnWriteArrayList源码分析
  4. 使用celery的backend异步获取结果
  5. 用Linux Shell脚本轻松管理Radius服务器
  6. 10G DB_LINK的问题
  7. 不限制内存用桶排序PHP
  8. 2019年,SD-WAN的回顾与展望
  9. 快点啊,大工程禁用Visual Assist,禁用符号加载
  10. JavaScript的编码规范