Linux删除文件提示Operation not permitted的处理办法

时间:2022-01-10 00:56:34

经常有同事问,删除文件/目录时报Operation not permitted错误,这个要如何处理?!

这个一般是权限的问题,比如:

1. 普通用户且有足够的权限的话,一般文件夹可能是别的服务/进程掉用该文件夹

lsof +D  /Dir/Your/Want/To/Delete/

先执行上面的命令,查询到调用该文件夹的进程IDs,然后再kill掉,这个时候应该就可以删了!

2. 普通用户且缺乏权限的话,如果要删除该文件夹则要借助su或者sudo命令来删除

3. 如果是root用户,依然报上面的错的话,则该档案很可能被锁定

[root@linux ~]# lsattr YourFile
  ---i---------- YourFile
则要借助lsattr命令来查看是否是系统添加了i,属性,比如上面。这个参数可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!对于系统安全性有相当大的帮助!这个命令也是你既然是root用户,依然不能执行删除操作的原因。 然后再借助chattr命令来去除该属性

[root@linux ~]# chattr -i YourFile
[root@linux ~]# lsattr YourFile
再看发现 i 消失了
然后就可以删除该文件了!

注意:i属性chattr命令并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。大家可以想想:比如说/tmp目录,所有的用户可以创建并删除自己的临时性文件,root用户也一样,如果该目录下的文件,连root用户都不能删除的话,情况会如何呢?