你是否遇到过文件或目录具有可读写权限,但是使用root用户删除、修改时提示"Operation not permitted"的情况。可能是由于chattr设置了文件的隐藏保护权限导致。通过chattr命令修改文件或目录属性能够提高系统的安全性。与chmod命令相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr命令改变的。本文主要介绍chattr和lsatt命令的语法和基本介绍。

说明:这两个命令在工作中用的比较少,经常用到的场景就是解决"Operation not permitted"问题。至于它们语法,掌握最基本的就可以了。就是会查属性、会修改属性就可以了。

chattr命令语法

chattr [+-=] [ASacdistu] File/Directory

参数说明:

+-=:分别为 [+ 增加] [- 减少] [= 设定] 指定属性
A :当设定了 A 这个属性时,文件或目录的存取时间atime (access) 将不可被修改。
S :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失!
a :文件将只能增加数据,而不能删除,只有 root 才能设定这个属性。
c :这个属性设定之后,将会自动的将此文件『压缩』,在读取的时候将会自动解压缩出来,但是在储存的时候,将会先进行压缩之后再储存。
d :当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效!
i :指定文件不能被删除、改名、也无法写入或新增数据!对于系统安全性有相当大的帮助!
j :当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中! 但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效!
s :当文件设定了 s 参数时,他将会被完全的移除出这个硬盘空间。
u :与 s 相反的,当使用 u 来设定文件时,则数据内容其实还存在磁盘中,可以使用来 undeletion.

chattr使用实例

1、设置指定文件的隐藏属性,使其无法删除、修改。

chattr +i /home/config/config.conf #添加"i"隐藏属性后,就无法更动config.conf这个文件了

2、取消文件的删除、修改保护权限

chattr -i /home/config/config.conf #解除"i"这个隐藏属性

lsattr命令语法

lsattr [-aR] File/Directory

参数说明

-a :将隐藏文件的属性也列出来;
-R :连同子目录的数据也一并列出来!

lsattr使用实例

1、查看指定文件隐藏属性

lsattr file.txt

Linux chattr和lsattr命令使用方法的更多相关文章

  1. Linux的chattr与lsattr命令详解

    Linux的chattr与lsattr命令详解 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. ...

  2. chattr和lsattr命令,不能被删除、改名、设定链接关系,同时不能写入或新增内容

    chattr和lsattr命令详解 chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现.同样-D检查压缩文件中的错误的功能, ...

  3. Shell学习(九)——chattr与lsattr命令详解

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

  4. Linux的chattr与lsattr命令

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

  5. (总结)Linux的chattr与lsattr命令详解

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

  6. (转)总结Linux的chattr与lsattr命令详解

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

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

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

  8. chattr 与 lsattr 命令详解

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

  9. chattr和lsattr命令详解

    基础命令学习目录首页 原文链接:http://www.ha97.com/5172.html PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chat ...

随机推荐

  1. 剑指offer 11. 位运算 二进制中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示.   //思想:用1(1自身左移运算,其实后来就不是1了)和n的每位进行位与,来判断1的个数     private stat ...

  2. SpringMVC的HandlerMapping(处理器映射器)

    SpringMvc有四种HandlerMapping:BeanNameUrlHandlerMapping ,SimpleUrlHandlerMapping,ControllerClassNameHan ...

  3. VS 自动展开选中当前代码所在的文件位置的功能

    这个功能相当好,自动在Solution Explorer中展开并定位到当前代码所在的文件,免得自己找位置要找很久. 设置方法: tool>>options>>projects ...

  4. python3-基础7

    协程函数 面向过程编程 递归与二分法 内置函数   lambda 模块与包的使用 import from ... import ... 常用模块 ########################### ...

  5. java中的线程中断

    线程会根据中断标志位 自行了断自己 https://www.cnblogs.com/yangming1996/p/7612653.html 如何停止线程 1.设置中断标识位 2.sleep时设置中断标 ...

  6. JavaScript问题——在浏览器中的offsetLeft/offsetWidth等属性是什么?

    原文链接http://www.cnblogs.com/xiaohuochai/p/5828369.html https://blog.csdn.net/u012532033/article/detai ...

  7. PAT 乙级 1074 宇宙无敌加法器 (20 分)

    1074 宇宙无敌加法器 (20 分) 地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”.每 ...

  8. PAT 乙级 1044 火星数字 (20 分)

    1044 火星数字 (20 分) 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, j ...

  9. laravel Faker-1.faker假数据

    1. 安装 composer require fzaninotto/faker --dev 2. 创建 migrations 参考:laravel文档 3. 定义ModelFactory 说明: 默认 ...

  10. Complete Binary Search Tree

    A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...