摘自:http://www.ha97.com/5172.html

PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

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

chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…

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

-V 显示指令执行过程。
-v<版本编号> 设置文件或目录版本。

最关键的是在[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/resolv.conf

然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉: chattr -i /etc/resolv.conf

# lsattr /etc/resolv.conf
会显示如下属性
----i-------- /etc/resolv.conf

2、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
# chattr +a /var/log/messages

3、chattr -R -v 1 test ,1是版本信息 test是文件名

转载于:https://www.cnblogs.com/pachongshangdexuebi/p/5051930.html

Linux的chattr与lsattr命令详解相关推荐

  1. Linux的chattr与lsattr命令详解(重点-i参数,锁定文件,禁止修改文件)

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

  2. linux查看和结束进程,Linux查看和结束进程命令详解

    在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill .killall.pkill.xkill 等进行. ----------------------------------- ...

  3. linux tf命令,Linux系统命令介绍之vmstat命令详解

    今天小编要跟大家介绍的vmstat命令详解.熟悉Linux系统和使用Linux系统工作的小伙伴都知道Linux的命令有很多,而真正在工作中用到的命令应该不超过几十个,为了让大家更好的掌握这些命令,小编 ...

  4. linux sort,uniq,cut,wc命令详解

    linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...

  5. linux cpio(copy in/out) 命令详解

    linux cpio(copy in/out) 命令详解 功能说明:备份文件. 语 法:cpio [-0aABckLovV][-C <输入/输出大小>][-F <备份档>][- ...

  6. linux如何切换到光盘,怎么刻录cd光盘-Linux切换目录之cd命令详解

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在Linux cd(切换目录)命令是最重要和最广泛使用 ...

  7. linux电脑关机命令是什么问题,linux下正常关机之命令详解 -电脑资料

    系统启动的时候生成一个文件,正常关机的时候会删除这个文件,管理过程中出现故障的机率. 步骤: 在/etc/rc.d/init.d/下编程脚本. 判断是否正常关机,和生成文件的脚本:touch-file ...

  8. linux paste 变量,Linux下的paste合并命令详解

    paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功能刚好相反. 粘贴两个不同来源的数据时,首先需将其分类,并确保两个文件行数相同.paste将按行将不同文件行信息放在一 ...

  9. linux之文件分割split命令详解

    linux之文件分割split命令详解 进行文件分割时我们需要考虑几个问题: 如何分割?是按行分割还是按文件大小分割?是每100行分成一个文件还是每100K分成一个文件? 分割以后子文件名称是什么格式 ...

最新文章

  1. JAVA必备——13个核心规范
  2. python中的with上下文管理器
  3. a article test
  4. PDM 导出Excel
  5. MyBatis 拦截器(4)
  6. elasticsearch问题解决之分片副本UNASSIGNED
  7. java基础——浅析设计模式之单例模式
  8. 一般处理程序里使用session对象为null,未将对象引用到实例化
  9. 小米系统shell_小米手机使用超级终端运行命令教程
  10. 手机号归属地区编码_不懂就问丨手机号码为什么是11位呢?
  11. linux设置合上电脑,CentOS7设置笔记本合盖不休眠
  12. twitter注册不了_如何阻止Twitter重点阻止不相关的通知
  13. 【易通慧谷】供应链金融六大模式解析
  14. 深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置
  15. CWnd与HWND的区别与联系(相互转换)完全解析
  16. hi3516dv300是几核处理器_HI3516DRBCV300-HI3516DRBCV300,hi3516DV300,HI3516-HI3516DRBCV300-香港科威芯电子有限公司...
  17. CreateWindowW函数
  18. JS-0-100之间的随机整数
  19. 利用HTML和javaScript实现简单的加减乘除运算
  20. MySQL InnoDB 存储引擎原理浅析

热门文章

  1. 颠覆性技术丨无人驾驶
  2. 地平线:全球估值第一的AI芯片初创公司诞生!
  3. 解禁 115 天,中兴事件的“反思”中藏着什么?
  4. 吴恩达机器学习笔记 —— 7 Logistic回归
  5. 某SAP项目进销存报表优化小记
  6. 初学者如何学习机器学习中的L1和L2正则化
  7. Nature封面:只低一毫米,时间也会变慢!叶军团队首次在毫米尺度验证广义相对论...
  8. 深入地下,实地探访!不用人挖煤的智能煤矿长什么样?
  9. 用户体验已成过去时 AI要从公民乃至社会的角度去思考问题
  10. 深度学习背后的基础-神经网络揭秘