0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

root用户rm -rf无法删除相关文件的原因分析

jf_TEuU2tls 来源:浩道Linux 2024-01-09 10:09 次阅读

前言

大家好,这里是浩道Linux,主要给大家分享Linux、Python网络通信网络安全等相关的IT知识平台。

最近在浩道的学习交流群中,有小伙伴反馈自己Linux服务器上无法通过rm -rf命令来删除某个文件,一时间引起大家的讨论。今天浩道跟大家分析无法删除的原因有哪些,也让大家长长见识。

wKgZomWcquuAAesIAACC3MFJ_n8892.png

通过截图看出,提示信息“Operation not permitted”很明显了,表示不允许操作。

一、诡异现象原因分析

那有哪些原因会导致root用户无法通过rm -rf命令删除文件呢?一起分析看看!

(一)权限问题:文件或目录的权限设置不允许当前用户进行操作。

这个可以排除,通过root用户执行删除命令,并且对应的文件也有对应权限。

(二)文件或目录被其他进程锁定或正在使用中:如果目录dnfswap中的某个文件或子目录正在被使用,那么rm -rf命令可能无法删除它们。

这个通过lsof dnfswap命令也排除了dnfswap被占用的问题。

(三)文件或目录具有特殊属性:在Linux系统中,每个文件和目录都有一些特殊的属性,这些属性由扩展的文件系统属性(extended filesystem attributes)或访问控制列表(Access Control Lists)等机制管理。如果文件或目录具有某些特殊属性,可能会导致rm -rf命令无法删除它们。

这个其实通过lsattr dnfswap命令查看到并未有特殊属性的地方。

当结合上述分析的原因都排除了,我想亲自登录上服务器去看看,但是诡异的事情发生了,啥都没操作,我居然可以删除成功了!!!

wKgaomWcquuADEQyAAO56uHRpEM863.png

这个就变成无厘头事件了,真的啥都没做,就删除成功了,不知道朋友们对这一个诡异事件有什么看法!欢迎评论区留言大家探讨!

今天既然针对这个rm -rf命令无法删除文件做了讨论,下面也给大家罗列几个具体实例,看看怎么实现不让root用户删除文件或文件夹的!

二、列举具体案例

(一)文件权限问题引起

这个一般可以针对普通用户做相应的权限限制实现,这里不列举说明。

(二)文件或目录被其他进程锁定或正在使用中

这里通过磁盘挂载目录来验证,当一个磁盘挂载目录被占用时,此时是不能通过rm -rf进行删除相关目录的。如下所示:

wKgaomWcquuAKsQ2AADPSHtqQxc488.png

(三)文件或目录具有特殊属性

这里可以通过chattr命令在Linux下用于改变文件属性。这些属性提供了对文件的额外控制,包括是否可以删除文件、是否可以修改文件等。

以下是chattr命令的一些用法和选项:

开启文件或目录的某个属性:chattr + 
关闭文件或目录的某个属性:chattr - 
指定文件或目录的某个属性:chattr = 
查看文件或目录的属性:lsattr 
其中,是具体的属性,如a、b、c、d、i等。


以下是一些常用的属性及其含义:


a:让文件或目录仅供附加用途,即只能向文件添加数据,不能删除数据。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:将文件或目录排除在倾倒操作之外。
i:不得任意更动文件或目录,即不能修改、删除、重命名该文件或目录。
s:保密性删除文件或目录,即从磁盘上删除,然后用0填充文件所在区域。
S:即时更新文件或目录,即一旦对文件进行了修改,就立即将修改结果写回磁盘。
u:预防意外删除,即当一个应用程序请求删除该文件时,系统会保留其数据块以便以后能够恢复删除的文件。

如下所示:

a76360ce-ae81-11ee-8b88-92fbcf53809c.png

三、总结

本文针对群里小伙伴发现的root用户rm -rf无法删除相关文件的异常现象,虽然最终没有定位到具体原因,但是也给大家罗列分析了一些原因,也让大家长长见识。如果大家还有其他经验分享,欢迎评论区分享喔!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10991

    浏览量

    206736
  • 服务器
    +关注

    关注

    12

    文章

    8116

    浏览量

    82511
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402
  • 命令
    +关注

    关注

    5

    文章

    638

    浏览量

    21849

原文标题:我勒个去!root用户通过rm -rf 竟无法删除文件了!

文章出处:【微信号:浩道linux,微信公众号:浩道linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在Linux使用rm删除文件与目录

    rm命令用于删除文件和目录。它是每个Linux用户都应该熟悉的基本命令之一。
    发表于 12-08 16:49 2266次阅读

    linux如何批量删除指定类型文件

    ;*.java"3. 删除java文件[root@jxjy-v30-test4 train]# find . -name "*.java" |xargs rm
    发表于 07-09 07:40

    ulog文件后端生成的文件无法删除这是为什么?

    使用命令rm -rf ulog.log无法删除文件。此目录下创建hello.txt可以删除。该
    发表于 09-29 10:56

    文件无法删除不掉了怎么办

    文件无法删除不掉了怎么办 有时候我们在删除某个文件文件夹时,系统提示
    发表于 01-08 09:48 3342次阅读

    linux删除命令rm的使用

      在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为
    发表于 08-23 15:47 1220次阅读

    rm” 命令后如何撤销,“rm” 命令后还能找回吗?

    有人类犯错误是因为我们不是一个可编程设备,所以,在使用 rm 命令时要额外注意,不要在任何时候使用 rm -rf *。当你使用 rm 命令时,它会永久
    的头像 发表于 03-12 15:48 2.9w次阅读
    “<b class='flag-5'>rm</b>” 命令后如何撤销,“<b class='flag-5'>rm</b>” 命令后还能找回吗?

    手机该不该ROOT权限?ROOT之后会怎样?

    ROOT权限也就是手机的一个大门,即超级管理员的功能。手机厂商会植入APP广告,增加手机的影响力,又或者软件给予的津贴,在新的手机上预安装很多的APP。这些app程序,用户的操作权限是无法删除
    的头像 发表于 11-24 10:50 1.1w次阅读

    linux下利用inode删除指定文件文件

    1 root root 0 6月 21 14:53 A??K?以上,最左边的数字即为对应文件的inode值,不过无法直接使用rm
    发表于 04-02 14:39 272次阅读

    电脑文件无法删除怎么办

    很多朋友用电脑的时候,都遇到过文件无法删除的情况。
    的头像 发表于 01-16 10:14 2158次阅读

    微软终于决定解决“进程占用而无法删除文件”问题

    众所周知,Windows 中存在一个相当古老而令用户无奈的问题,当你删除某些文件时资源管理器会提示 文件正在被使用,您无法
    的头像 发表于 11-23 11:14 1152次阅读

    恒讯科技分析:如何在Linux上使用rm命令删除文件和目录?

    本指南展示了如何在Linux中使用rm命令行删除文件、目录和其他内容?
    的头像 发表于 06-09 17:02 855次阅读

    什么是sudo rm -rf?为什么这个命令如此危险?

    sudo rm -rf 是一个linux的命令行命令,用于在系统中删除文件和目录。sudo表示以管理员权限运行该命令。
    的头像 发表于 10-24 18:25 1280次阅读

    linux中删除文件的命令

    -R 命令后面跟上目录名,可以删除整个目录及其下的所有文件rm -f 命令后面跟上文件名,可以强制删除
    的头像 发表于 11-08 14:11 337次阅读

    linux中rm和rmdir的区别

    文件。当使用 rm 删除目录时,必须使用递归选项,否则将无法删除非空目录。此外, rm 命令没
    的头像 发表于 11-08 14:16 722次阅读

    linux删除文件命令rm

    保持不变。 rm命令的语法如下: rm [选项] 文件... 选项包括: -d:直接把欲删除的目录的硬连接数据删除成0,
    的头像 发表于 11-13 16:42 429次阅读