正在加载中...
Linux服务器系统删除文件或创建目录时提示Operation not permitted的解决方法
经常有同事问,删除文件/目录时报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
#批量去掉i属性
chattr -I -R /data/abc/*
[root@linux ~]# lsattr YourFile
再看发现 i 消失了
然后就可以删除该文件了!
注意:i属性chattr命令并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。大家可以想想:比如说/tmp目录,所有的用户可以创建并删除自己的临时性文件,root用户也一样,如果该目录下的文件,连root用户都不能删除的话,情况会如何呢?