暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux中还有root不能删除的文件?

数据与人 2023-02-06
1159

点击上方"数据与人"右上角选择“设为星标”

分享干货,共同成长! 

 


有开发小哥咨询了一个问题,记录一下处理过程分享给有需要的朋友。

问题如下:

Linux下用root用户删除一个文件报错:
    rm -rf tmp/atao.log
    rm: cannot remove ‘/tmp/atao.log’: Operation not permitted

    还有root用户操作不了的东西?还真有!

    解决方案

    Linux操作系统默认情况下root可以修改系统上所有目录和文件的帐户或用户名。


    那为什么上述删除操作会报错呢?这就不得不说一下chattr命令了,用此命的功能更为强大,甚至可以锁定文件,即使root用户也操作不了此文件。


    chattr是用来更改文件属性,lsattr可用来查看文件的属性,执行命令lsattr /tmp/atao.log便可以看到当前文件的属性;

      lsattr tmp/atao.log
      ----i--------e-- atao.log

      可以发现当前文件有个i属性,有i属性的文件是不能修改的,更不可被删除,即使是root用户也不可。


      既然知道了文件不能删除的原因是加了i属性,所以相应的解决方案就是把文件的i属性去除,然后再删除。

        chattr -i /tmp/atao.log  --删除属性

        需要注意的是,超级用户权限才能使用sudo命令设置或删除此属性:

          chattr +i /tmp/atao.log  --设置属性
          chattr -i /tmp/atao.log --删除属性

          另外,使用-R参数,你可以递归地更改目录的属性及其内容

            chattr +i tmp/atao.log

            更多精彩内容,关注我们▼▼

            文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论