当前位置: 首页 > news >正文

【root无法删除文件】linux下root不能删除/修改文件权限不够|chattr与lsattr命令详解......

[root@Iuu mysql]# rm -rf dumpback/
rm: 无法删除目录‘dumpback//2011_10_21’: 权限不够
rm: 无法删除目录‘dumpback//2011_09_23’: 权限不够
rm: 无法删除目录‘dumpback//2011_10_14’: 权限不够

rm: 无法删除目录‘dumpback//2011_09_30’: 权限不够

rm: 无法删除目录‘dumpback//2011_10_07’: 权限不

解决方法 :

有 隐藏的 -i属性 。

lsattr 文件名 #找到隐藏文件

chattr -i 文件名 #取消-i 参数

rm -rf  文件名 #删除文件

原文:
https://sc.qq.com/fx/u?r=4GXhzuA&t=3

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

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

chattr命令的用法:chattr [ -RVf ] [ -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/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

相关文章:

  • 【主机名变bogon】linux主机名被更改为bogon原理分析
  • 【Linux】进程间通信--共享内存
  • 【open stack】openstack从入门到放弃
  • 【防火墙】linux打开防火墙的某几个端口|打开/关闭防火墙centos7
  • 【web.xml】web.xml文件的作用和servlet 、servlet-mapping 标签
  • 【JSON和JSONP】浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
  • 【JSP、servlet、SQL】JSP、servlet、SQL三者之间的数据传递
  • 【Jackson】Jackson和Jackson的用法实例分析
  • 【Spring】Spring 基础,用小例子来理解它(spring boot)
  • 【JQuery】jquery通过ajax方法获取json数据不执行success
  • 【jQuery】jQuery中$.get、$.post、$.getJSON和$.ajax用法的区别
  • 【json序列化】json的序列化、二进制序列化、JSON传输二进制数据方法
  • 【MVC\MVC\MVP】MVC、MVP、MVVM的区别
  • 【三范式】数据库三范式是什么?
  • 【SSH免密码登录】SSH Secure Shell Client用public key认证登录|linux 生成密钥
  • [Vue CLI 3] 配置解析之 css.extract
  • [数据结构]链表的实现在PHP中
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 4个实用的微服务测试策略
  • CentOS 7 修改主机名
  • Git同步原始仓库到Fork仓库中
  • Javascript弹出层-初探
  • Java到底能干嘛?
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Nodejs和JavaWeb协助开发
  • Vue组件定义
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 工程优化暨babel升级小记
  • 马上搞懂 GeoJSON
  • 排序算法之--选择排序
  • 日剧·日综资源集合(建议收藏)
  • 软件开发学习的5大技巧,你知道吗?
  • 数据仓库的几种建模方法
  • 思否第一天
  • 为视图添加丝滑的水波纹
  •  一套莫尔斯电报听写、翻译系统
  • 进程与线程(三)——进程/线程间通信
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • # Maven错误Error executing Maven
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (007)XHTML文档之标题——h1~h6
  • (2015)JS ES6 必知的十个 特性
  • (C++17) std算法之执行策略 execution
  • (day6) 319. 灯泡开关
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (python)数据结构---字典
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (八)c52学习之旅-中断实验
  • (待修改)PyG安装步骤
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (蓝桥杯每日一题)love
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐