文件及目录操作 - chattr、lsattr

1. chattr:改变文件属性

chattr命令的功能说明

chattr命令用于改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

  • a:让文件或目录仅供附加用途。
  • b:不更新文件或目录的最后存取时间。
  • c:将文件或目录压缩后存放。
  • d:将文件或目录排除在倾倒操作之外。
  • i:不得任意更动文件或目录。
  • s:保密性删除文件或目录。
  • S:即时更新文件或目录。
  • u:预防意外删除。

chattr命令的语法格式

chattr [ -RVf ] [ -v version ] [ mode ] files...
chattr [-RV] [-v] [+/-/=] [文件或目录...]

chattr命令的选项说明

chattr 参数有几个,表1为 chattr 命令的参数及说明:

表1: chattr命令的参数及说明

参数选项 解释说明
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 设置文件或目录版本。
-V 显示指令执行过程。
+ 开启文件或目录的该项属性。
- 关闭文件或目录的该项属性。
= 指定文件或目录的该项属性。

chattr命令的实践操作

范例1:chattr命令防止系统中某个关键文件被修改:

[root@oldboyedu ~]# chattr +i /etc/resolv.conf
[root@oldboyedu ~]# lsattr /etc/resolv.conf      <-->lsattr显示文件属性(后面会讲)
----i-------- /etc/resolv.conf
[root@oldboyedu ~]# chattr +i /etc/passwd  #<==锁定文件不能删除,不能修改
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@oldboyedu ~]# lsattr /etc/hosts
---------------- /etc/hosts
[root@oldboyedu ~]# cp /etc/passwd{,.ori}
[root@oldboyedu ~]# rm -f /etc/passwd
rm: cannot remove ‘/etc/passwd’: Operation not permitted
[root@oldboyedu ~]# echo ddd > /etc/passwd
-bash: /etc/passwd: Permission denied
[root@oldboyedu ~]# useradd littleboy
useradd: cannot open /etc/passwd
[root@oldboyedu ~]chattr -i /etc/passwd  #<==解锁文件。

范例2: 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

[root@oldboyedu ~]# chattr +a oldboy.txt
[root@oldboyedu ~]# rm -f oldboy.txt
rm: cannot remove ‘oldboy.txt’: Operation not permitted
[root@oldboyedu ~]# echo dddd >>oldboy.txt
[root@oldboyedu ~]# echo dddd >>oldboy.txt 

2. lsattr:显示文件属性

lsattr命令的功能说明

lsattr命令用于显示文件属性。用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。

lsattr命令的语法格式

lsattr [ -RVadv ] [ files... ]
lsattr [-adlRvV] [文件或目录...]

lsttr命令的选项说明

lsattr 参数有几个,表1为 lsattr 命令的参数及说明:

表1: lsattr命令的参数及说明

参数选项 解释说明
-a  显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
-d  显示,目录名称,而非其内容。
-l  此参数目前没有任何作用。
-R  递归处理,将指定目录下的所有文件及子目录一并处理。
-v  显示文件或目录版本。
-V  显示版本信息。

lsattr命令的实践操作

范例1:chattr命令防止系统中某个关键文件被修改,然后用lsattr查看

[root@oldboyedu ~]# chattr +i /etc/passwd  #<==锁定文件不能删除,不能修改
[root@oldboyedu ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@oldboyedu ~]# lsattr /etc/hosts
---------------- /etc/hosts

今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津

Shell命令-文件及目录操作之chattr、lsattr的更多相关文章

  1. Shell命令-文件及目录操作之file、md5sum

    文件及目录操作 - file.md5sum 1. file:显示文件的类型 file命令的功能说明 用于辨识文件类型.通过 file 指令,我们得以辨识该文件的类型. file命令的语法格式 file ...

  2. Shell命令-文件及目录操作之ls、cd

    文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE ...

  3. Shell命令-文件及目录操作之cp、find

    文件及目录操作 - cp.find 1.cp:复制文件或目录 cp命令的功能说明 cp命令用于复制文件或目录. cp命令的语法格式 cp [OPTION]... SOURCE... DIRECTORY ...

  4. Shell命令-文件及目录操作之mkdir、mv

    文件及目录操作 - mkdir.mv 1.mkdir:创建目录 mkdir命令的功能说明 mkdir命令用于创建目录,默认情况下,要创建的目录已存在,会提示文件存在,不会继续创建目录. mkdir命令 ...

  5. Shell命令-文件及目录操作之pwd、rm

    文件及目录操作 - pwd.rm 1.pwd:显示当前所在位置信息 pwd命令的功能说明 pwd命令用于显示当前工作目录的绝对路径,以便在各个目录间来回切换. pwd命令的语法格式 pwd [OPTI ...

  6. Shell命令-文件及目录操作之touch、tree

    文件及目录操作 - touch.tree 1.touch:创建文件或更改文件时间戳 touch命令的功能说明 touch命令用于创建新的空文件或改变已有文件的时间戳属性. touch命令的语法格式 t ...

  7. Linux操作系统常用命令合集——第一篇-文件和目录操作(40个命令)

    一.选项和参数的区别        在经过上一次的系统安装后我们已经成功登陆,登陆LInux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着“选项”(英文名:options)或“参数” ...

  8. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  9. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

随机推荐

  1. Laravel5多图上传和Laravel5单图上传的功能实现

    Laravel5文件上传默认只能上传一张图片,但是有的时候我们需要一次性上传多图就不行了,我在网上看了很多关于laravel5图片上传的文章,很多都只是介绍laravel5单图上传,多图片上传介绍少之 ...

  2. 快速使用CSS Grid布局,实现响应式设计

    常用Grid布局属性介绍 下面从一个简单Grid布局例子说起. CSS Grid 布局由两个核心组成部分是 wrapper(父元素)和 items(子元素). wrapper 是实际的 grid(网格 ...

  3. 2019-02-10 扩展Python控制台实现中文反馈信息

    "中文编程"知乎专栏原文地址 参考了周蟒的实现, 运行效果如下: $ python3 解释器.py Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 ...

  4. SAP 用户参数 ME_USE_GRID

    SAP 用户参数 ME_USE_GRID SAP的一些标准报表格式极其不友好,如果不做特殊参数设定,报表使用起来很不方便.我们可以通过设置user parameter的方式,改变一些报表的显示格式,让 ...

  5. 驰骋工作流引擎JFlow与activiti的对比之2种取消模式

    1. 取消模式(Cancel Activity) 就是将某个活动取消. JFLOW中,类似与删除流程操作相同. 不能删除:不允许删除. 逻辑删除:仅仅将此流程标记为删除状态,数据仍然存在节点表单与流程 ...

  6. nginx在代理转发地图瓦片数据中的应用

    最近有这样一个需求,需要将arcgis server发布的地图瓦片放在移动硬盘中,系统演示的时候,直接调用本地的地图瓦片,而非远程的,主要是为了系统演示的时候加快地图访问速度. 而且需要在任意电脑运行 ...

  7. Parcelable encountered IOException writing serializable object

    异常: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object 这是在in ...

  8. Android网络图片转换成bitmap保存到本地指定文件夹

    下列代码,请求网络图片转换为bitmap,然后保存到指定文件夹,微信,QQ分享,要求缩略图不大于32kb 压缩图片代码,使用了Glide来进行图片压缩处理 Glide.get(ShopDetailsA ...

  9. 使用Python的列表推导式计算笛卡儿积

    笛卡儿积: 笛卡儿积是一个列表, 列表里的元素是由输入的可迭代类型的元素对构 成的元组,因此笛卡儿积列表的长度等于输入变量的长度的乘积, 如下图: 如果你需要一个列表,列表里是 3 种不同尺寸的 T ...

  10. MongoDB 在系统数据库local上无法创建用户的解决方法

    我们知道,MongoDB的Oplog (operations log)记录了用户的最近一段时间的操作(时间长短主要受设置的oplogSize和程序的写入更新量的影响).那么,如果其他部门(例如BI团队 ...